使用某个数据库,如devregmgr
use devregmgr;
查看当前的数据库
show databases
查看当前数据库下的数据表
show tables
查看表结构 如表device_license_apply
desc device_license_apply
新增数据库
CREATE DATABASE 数据库名称;
删除数据库
DROP DATABASE IF EXISTS 数据库名称;
新增表
CREATE TABLE 表名(
字段名1 数据类型1,
字段名2 数据类型2,
...
字段名n 数据类型n
);
删除表
DROP TABLE IF EXISTS 表名;
修改表名
ALTER TABLE 表名 RENAME TO 新的表名;
添加一列
ALTER TABLE 表名 ADD 列名 数据类型;
修改列数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
修改列数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型;
删除列
ALTER TABLE 表名 DROP 列名;
给指定列添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);
给全部列增加数据
INSERT INTO 表名 VALUES(值1,值2,...);
批量添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
修改数据
UPDATE 表名 SET 列名1=值1,列名2=值2,...[WHERE 条件];
删除数据
DELETE FROM 表名 [WHERE 条件];
查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据
去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表;
模糊查询
查询 stu 表中姓‘马’的学员信息
SELECT * FROM stu WHERE name LIKE = '马%';
查询 stu 表中第二个字是‘花’的学员信息
SELECT * FROM stu WHERE name LIKE = '_花%';
查询 stu 表中名字中包含‘德’的学员信息
SELECT * FROM stu WHERE name LIKE = '%德%';
排序查询
SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1[排序方式1],排序字段名2[排序方式2]...;
分组查询
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
查询男同学和女同学各自的数学平均分,以及各自人数
select sex, avg(math), count(*) from stu group by sex;
查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组
select sex, avg(math), count(*) from stu where math > 70 group by sex;
查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数大于2个
select sex, avg(math), count(*) from stu where math > 70 group by sex having count(*) > 2;