表的基本操作

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,...]