MySQL之基本查询

172 阅读2分钟

一、DML 数据操作语言(增删改查)

首先先创建两个测试数据库,分别为demo和test,创建语法如下:

#创建逻辑库:
语法:CREATE DATABASE 逻辑库名称;  
示例:CREATE DATABASE demo;
     CREATE DATABASE test;

创建成功后,需查看是否创建数据库成功,查看语法如下:

#查看所有逻辑库
语法:SHOW DATABASES ;
示例:SHOW DATABASES ;

如果创建时出现了错误,例如数据库名输入错误等,可以直接删除数据库,删除语法如下:

#删除逻辑库名称
语法:DROP DATABASE 逻辑库名称;  
#创建数据表:
CREATE TABLE 数据表(

列名1 数据类型 [类型] [COMMENT 注释],

列名2 数据类型 [类型] [COMMENT 注释],

... ... 

)[COMMENT =  注释];
数据库的其他操作

SHOW 表名; #查看逻辑空间中的数据表

DESC 表名; #查看数据表的情况

SHOW CREATE TABLE 表名 #查看建表语句

DROP TABLE 表名 #删除数据表
#SELECT查询
语法:SELECT * FROM 表名;  #查询表中所有信息
示例:SELECT * FROM t_emp;  #查询员工表所有信息

语法:SELECT 字段1,字段2... FROM 表名;  #根据字段查询表中信息。
示例:SELECT empno,ename,sal FROM t_emp;  #查找员工表的编号、姓名和薪酬数据
#AS别名
#将年薪字段定义为income
SELECT empno,sal*12 AS	“income” FROM t_emp;
#查询语句的字句执行顺序
首先,进行词法分析和优化读取SQL语句。
其次,FROM选择数据来源。
最后,SELECT 选择输出内容。
#LIMIT数据分页
语法:SELECT  ......  FROM ...... LIMIT 起始位置,偏移量;  
示例:SELECT empno,ename FROM t_emp LIMIT 0,10; 
#取前表中编号和姓名的前十条数据
简写:SELECT empno,ename FROM t_emp LIMIT 10; 
执行顺序:FROM --> SELECT --> LIMIT
5、结果集排序
#SQL默认是ASC升序排序,DESC为降序排序
语法:SELECT ...... FROM ...... ORDER BY 列名 [ASC|DESC];   

#在t_emp表中对ename和sal进行降序排序
示例:SELECT ename,sal FROM t_emp ORDER BY sal DESC; 

#当排序字段内容相同时,根据主键进行升序排列。
#当有多个排序字段时,可以使用ORDER BY规定首要排序条件和次要排序条件。数据库会先按照首要条件排序,如果需要首要排序内容相同的记录,那么就会启用次要排序条件接着排序。
#排序+分页
ORDER BY 子句书写的时候放在LIMIT子句的前面
FROM --> SELECT --> ORDER BY --> LIMIT
#WHERE条件查询
语法:SELECT ...... FROM ...... WHERE 条件 [AND|OR] 条件 ......; #AND逻辑与 OR逻辑或
示例:SELECT empno,ename,sal FROM t_emp WHERE (deptno=10 OR deptno=20) AND sal >= 2000; #查询t_emp表中部门为10或20并且月薪大于等于2000的员工编号、姓名和月薪