-- ddl 数据定义语言 建库,建表
1.create database if not exists 数据库名;
2.create database 数据库名 character set 字符集; -- 创建数据库并指定字符集
3.show create database db3; -- 查看某个数据库的定义信息
4.alter database 数据库名 default character set 字符集; -- 修改数据库默认的字符集
5.drop database 数据库名; -- 删除数据库
6 select database(); -- 查看正在使用的数据库
7.show tables; -- 查看某个数据库中的所有表
8.show create table 表名; --查看创建表的 sql 语句
9.create table s1 like student; -- 创建一个 s1 的表与 student 结构相同
10.drop table 表名;
11.alter table 表名 add 列名 类型; -- 添加表列 add
12.alter table 表名 modify 列名 新的类型; -- 修改列类型 modify
13.alter table 表名 change 旧列名 新列名 类型; --修改列名和类型,但比modify开销大
14.alter table 表名 drop 列名; -- 删除列 drop
15.rename table 表名 to 新表名; --修改表名
16.alter table 表名 character set 字符集; -- 修改字符集 character set
-- dml 对表中的记录进行增删改
1.insert into 表名( 字段名 1, 字段名 2, ...) values (值1,值 2, ...);
2.insert into 表名1 select * from 表名2; -- 将 表名 2 中的所有的列复制到 表名 1 中
3.insert into 表名1(列1,列2) select 列1,列2 from student;
4.update 表名 set 字段名= 值 where 字段名= 值; --带条件修改数据
5.delete from 表名 where 字段名= 值; -- 带条件删除数据
6.truncate table 表名; 使用 truncate 删除表中所有记录
7.truncate 和 delete 的区别: truncate 相当于删除表的结构,再创建一张表,会删除自动增长
-- dql 查询表中的数据
1.select distinct 字段名1,字段2 from 表名; -- 不出现重复数据 重复数据为(字段1和字段2都要相同)
2.select 字段名 from 表名 where 字段 in ( 数据 1, 数据 2...); --in 关键字
select * from student3 where name like '%德_' % 匹配任意多个字符串 _ 匹配一个字符
3.select * from student order by age desc, math asc; --asc 升序 默认
4.select count(ifnull(id,0)) from student; -- 如果列名不为空,返回这列的值。如果为 null ,则返回默认值
5. group by 分组查询 分组字段结果中相同内容作为一组
6.select sex, count(*) from student3 where age > 25 group by sex having count(*) >2;--只有分组后人数大于 2 的`男`这组数据显示出来
7.select * from student3 limit 2,6;
SELECT *| 字段列表 [as 别名] FROM 表名 [WHERE 子句] [GROUP BY 子句][HAVING 子句][ORDER BY 子句][LIMIT 子句];