MySQL基本命令

这篇博客详细介绍了MySQL的基本操作,包括在Windows环境下启动和停止MySQL服务,使用CMD以管理员身份运行命令。内容涵盖登录数据库、查看数据库和表、执行查询、条件查询、排序、分页以及多表查询,涉及内连接和外连接的概念。此外,还讲解了如何进行数据的条件筛选、排序和分页显示,以及内连接和外连接查询的实现。对于数据库管理和开发人员来说,是一份实用的操作手册。
摘要由CSDN通过智能技术生成

MySQL基本命令

目录:

Windows启动/停止

CMD:管理员身份运行
net stop <mysql名称>
#停止服务
net stop mysql57
#启动服务
net start mysql57

基本命令

登录:
mysql -hlocalhost -P3306 -uroot -p123456

参数说明:

#必填项
-u:user(用户名)
-p:password(密码),可只写"-p",回车后写密码(密文)

#可选项
-h:host(指定主机),默认localhost即127.0.0.1
-P:Port(端口),默认3306
查看:
#查询数据库
SHOW DATABASES;

#选中数据库
USE <数据库名>;

#查询表
SHOW TABLES;

#查询表结构
DESCRIBE <表名>;
DESC <表名>;
SHOW COLUMNS FROM <表名>;

查询命令

#需要先选中数据库;
USE atguigudb;

#查询jobs表中所有信息;
SELECT * FROM jobs;

#查询jobs表中job_id信息;
SELECT job_id FROM jobs;

条件查询

#查询函数:WHERE
#范围函数:

排序

#排序函数:ORDER BY
SELECT * FROM <表名> ORDER BY <排序字段1> ASC,<排序字段2> DESC;

#默认按添加顺序显示;
# 使用 ORDER BY 对查询到的数据进行排序操作。
# 升序:ASC (ascend),默认此项。
# 降序:DESC (descend)

#按照 <salary> 字段从高到低的顺序显示;
SELECT * FROM employees ORDER BY salary DESC;

#使用列的别名,进行排序————列的别名只能在 ORDER BY 中使用,不能在WHERE中使用。
SELECT employee_id,salary,salary * 12 annual_sal 
FROM employees 
ORDER BY annual_sal;

#强调格式:WHERE 需要声明在FROM后,ORDER BY之前。
SELECT employee_id,salary
FROM employees
WHERE department_id IN (50,60,70)
ORDER BY department_id DESC;

#二级排序、多级排序————显示员工信息,按照department_id的降序排列,salary的升序排列
SELECT employee_id,salary,department_id
FROM employees
ORDER BY department_id DESC,salary ASC;

分页

#分页函数:limit
SELECT * FROM <表明> LIMIT <偏移量>,<条数>;

#需求:每页显示pageSize条记录,此时显示第pageNo页:
#公式:LIMIT (pageNo-1) * pageSize,pageSize;
#limit 0,10; <==> limit 10;
#MySQL8.0新特性:LIMIT <条数> OFFSET <偏移量>;

SELECT * FROM employees WHERE salary > 6000 ORDER BY salary DESC limit 0,10;

多表查询

#连接条件:WHERE <表名1>.<字段> = <表名2>.<字段>
SELECT employee_id,department_name
FROM employees,departments
WHERE employees.`department_id` = departments.department_id;

#建议:从sql优化的角度,建议多表查询时,每个字段前都指明其所在的表。

#可以给表起别名,在SELECT和WHERE中使用表的别名。

#如果给表起了别名,一旦在SELECT或WHERE中使用表名的话,则必须使用表的别名,而不能再使用表的原名。
#如下的操作是错误的:

内连接

查询过滤条件中,结果都匹配的情况。

外连接

查询过滤条件中,结果不会都匹配的情况,不匹配的值为NULL。

左外连接:左边条件返回不匹配的结果。

右外连接:右边条件返回不匹配的结果。

满外连接:左外连接 + 右外连接。

#SQL92语法外连接:使用 (+)
#MySQl不支持SQL92语法。

SELECT employee_id,department_name
FROM employees,departments
WHERE employees.`department_id` = departments.department_id(+);		#需要使用左外连接。

#SQL99语法内连接:<表1> JOIN INNER <表2> ON <表1>.<字段> = <表2>.<字段>
#内连接函数:INNER(默认此参数)

SELECT last_name,department_name
FROM employees e INNER JOIN departments d
ON e.`department_id` = d.department_id;	

#SQL99语法外连接:LEFT OUTER
#外连接函数:OUTER;LEFT OUTER;RIGHT OUTER;
#满外连接:FULL OUTER;(MySQL不支持)

SELECT last_name,department_name
FROM employees e LEFT OUTER JOIN departments d
ON e.`department_id` = d.department_id;	


#函数:
# UNION:并集(去重)。
# UNION ALL:并集(不去重)。

SELECT <> FROM <> WHERE <> UNION ALL SELECT <> FROM <> WHERE <>;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值