DDL表的操作
操作 | 代码样例 |
---|---|
创建表 | create table 表名(id int, name varchar(32)); |
复制表 | create table 表名 like 被复制表名; |
查询数据库所有表 | show tables; |
查询表结构 | desc 表名; |
删除表 | drop table if exists 表名; |
修改表名 | alter table 表名 rename to 新表名; |
删除表字符集 | alter table 表名 character set 字符集名称(utf8,gbk); |
添加列 | alter table 表名 add 列名 数据类型; |
修改列名称类型 | alter table 表名 change 列名 新列名 数据类型(varchar(10)); alter table 表名 modify 列名 数据类型; |
注释
1.varchar类型定义的时候要标注最大字符数。
2.数据类型还有关于时间的,需要查阅。
///
DML增删改
操作 | 代码样例 |
---|---|
查询表中记录 | select *from 表名; |
添加 | insert into 表名(列名1,列名2) values(值1,值2); |
删除 | delete from 表名 where 条件(eg:id=1/address=‘21321321’); |
删除整张表(先删除表,再创建一样的表) | truncate table 表名; |
修改 | update 表名 set 列名1=值1,列名2=值2 where 条件; |
注释
1.添加,删除,修改表中数据后,刷新不显示,则需要运行查询记录的命令行。
2.varchar类型的数据需要添加时,数据库语言编写时需要带单引号或者双引号。
3.修改中,删除中,如果不加条件的话,则会修改删除所有数据。
///
DQL查询
查询方式 | 操作语句 |
---|---|
排序查询 | select *from 表名 order by 列名1 排序方式1,列名2 排序方式2; |
聚合函数 | select 方法(列名) from 表名;(eg:select count(name) from stu;) |
分组查询 | group by 分组字段(select sex,avg(sum) from student (where 条件)group by sex (having count(id)>2); ) |
分页查询 | limit 开始索引,每条查询条数(select *from 表名 limit 0,3;) |
注释
1.ASC为升序排列(默认),DESC为降序排列。如果有多个排序条件,当第一个值一样时才判断第二个。
2.聚合函数:列的纵向计算;
count | 计算个数 |
---|---|
max | 计算最大值 |
min | 计算最小值 |
sum | 计算和 |
avg | 计算平均值 |
3.分组查询,限定条件才参与分组
where在分组之前进行限定,不满足不参与分组
having 在分组之后进行限定,不满足条件则不被查询出来
4.分页查询公式:开始索引=(当前页码-1)*每页显示条数。
5.去除重复的结果集
select distinct address from stu;
6.计算math和english分数和
如果有NULL参与运算,结果都为NULL;
select name,math,english,math+IFNULL(english,0) from aaaa;