表的基本操作
1.创建表
CREATE TABLE table_name (
字段名称 数据类型 [约束]
字段名称 数据类型 [约束]
)
示例:
CREATE TABLE student (
name VARCHAR(50),
age INT(11)
)
2.删除表
DROP TABLE table_name;
3.修改表
- 修改表名
ALTER TABLE 表名 RENAME 新表名;
- 增加字段
ALTER TABLE 表名 ADD 字段 数据类型;
- 修改字段
ALTER TABLE 表名 MODIFY 字段 数据类型;
表数据的操作
1.插入数据
- 指定字段插入语法:
INSERT INTO 表名(field1,field2...) VALUES(val1,val2...)
- 批量插入查询:
INSERT INTO 表名(field1,field2...) SELECT field1, field2,....FROM 新表名
2.修改数据
语法:
UPDATE 表名 SET field1=value1,field2=value2,...WHERE 条件;
示例:
UPDATE student SET name='张三',age='18' WHERE code='01';
3.删除数据
语法:
DELETE FROM 表名 WHERE 条件;
示例:
DELETE FROM student WHERE name = '张三';
简单数据检索
1.指定字段的数据记录查询
语法:
SELECT field1,field2,.. FROM 表名 WHERE 条件;
示例:
SELECT name,age FROM student;
2.查询所有数据
通配符 *
语法:
SELECT * FROM 表名 [where 条件];
3.避免重复数据查询
使用 :DISTINCT 效率较低
示例:
SELECT DISTINCT name FROM student;
4.查询数据处理
- 数学运算的数据结果处理:+ - * / %
示例:
SELECT price AS '人民币',price/6 AS '美元' FROM table_name;
- 使用CONCAT对字符串进行拼接
示例:
SELECT CONCAT('¥',price) AS '人民币', CONCAT('$',price/6) AS '美元' FROM table_name;
条件查询
1.关系运算符和逻辑运算符
关系运算符:>、 >=、 <、 <=、 !=(<>)、 =;
逻辑运算符:AND(&&)、OR(||)、NOT(!)、XOR。
示例:
SELECT * FROM student WHERE age>=18 AND class='c1' AND code='01';
2. BETWEEN AND
一般用在对数值或者日期的区间判断条件中
示例:
SELECT * FROM studnet WHERE age BETWEEN 16 AND 20;
3. IS NULL
NULL 和 空字符串是两个概念,使用的查询条件不尽相同
SELECT * FROM studnt WHERE name IS NULL
SELECT * FROM studnt WHERE name = ' ' -- 判断空字符串
使用非空判断:
SELECT * FROM student WHERE name IS NOT NULL
4.IN
SELECT * FROM student WHERE class IN('c1','c2');
SELECT * FROM student WHERE class = 'c1' OR class = 'c2'; --替代方案
5.LIKE
模糊查询:用的较多,一般用到的是全匹配 %搜索字%,尾部匹配 搜索字%
示例:
SELECT * FROM studnet WHERE name LIKE '李_龙';
SELECT * FROM studnet WHERE name LIKE '李%';
SELECT * FROM studnet WHERE name LIKE '%李%';
数据排序
数据的排序方式:顺序 ASC、逆序 DESC。
示例:
SELECT * FROM studnet ORDER BY class ASC , code DESC;
限制数据记录数量
使用 LIMIT 关键字,后面跟两个参数,第一个参数是从第几条开始,第二个是一共显示多少条记录
SELECT * FROM student ORDER BY age ASC,code DESC LIMIT 9,3;
-- 显示 page 页,每页显示 num 条记录
-- page = 2; num = 3;
-- x = (page - 1) * num
-- y = num
统计函数
COUNT:在实际开发中,会使用 COUNT 函数计算条件查询后的总数据量,用于计算总页数。另外用在分组聚合函数中求分组单元中的数据量。
SUM:总和
AVG:平均数
MAX:最大
MIN:最小
语法:
SELECT 分组完的字段1,分组完的字段2,
FROM 表名
[WHERE 全局表的过滤条件]
[GROUP BY 表字段1, 表字段2
HAVING 分组完成后的过滤条件(可以加聚合)
]
[ORDER BY 分组完的字段1 ASC/DESC, 分组完的字段2 ASC/DESC,...]