MySQL数据库2

SQL数据库语言

DDL 数据定义语言:
create 创建表、视图、索引...
drop   删除表、视图、索引...
alter  修改表
truncate 截断
DML 数据操控语言 (重点):
insert 插入数据
update 修改数据
delete 删除数据
select 查询数据
DCL 数据控制语言:
grant   授权
revoke  回收授权
TCL 事务控制语言 transaction control :
start transaction 开始事务(begin)
commit 提交
rollback 回滚

DDL

组合主键:primary key(字段名1,字段名2)
alter修改:
    给表中添加字段:alter table 表名 add 字段名 数据类型;
    修改字段列长度:alter table 表名 modify 字段名 数据类型(长度);

DDL

insert插入另一张表的数据(字段的个数和类型要保持一致):
    insert into 表名1[(字段名1,字段名2,... ,字段名n)]select 字段名1,字段名2,... ,字段名n from 表名2;
update更新数据:update 表名 set 字段名=值,... [where 条件表达式];
    注:主键字段主要用于查询条件,一般不会更新
级联删除:alter table 外键所在表名 add constraint fk_外表名_外字段名 foreign key(外字段名) references 主键所在表名(主字段名);
select查询:select *[(字段名1,字段名2,... ,字段名n)] from 表名 [where 条件表达式];

条件式

比较运算:
=  > >= < <= !=

逻辑运算:

and or not(取反)  

null值:

is null
is not null

like(模糊查询):

通配符:% 匹配任意字符
       _匹配一个任意字符

between…and…范围匹配:

顺序必须从小到大
between包含等于条件

limit(mysql特有的):

limit n; n表示最多返回几条记录
limit m,n; m表示偏移量,下标从0开始

order by给结果排序:

order by 字段名 asc(升序)/desc(降序);
select语句顺序:
select * from 表名
where 条件式
order by 排序
limit 限制;

常用函数

时间加减:
    select date_add(原始时间now(),时间间隔);
        时间间隔语法:interval 数字 时间单位
提取时间的某个部分:
    select extract(时间部分 from 原始时间now());
类型转换:
    eg:select cast('11' as signed)+1;
       select cast('12.55555' as decimal(5,2));
拼接字符串:
    select concat(值1,值2,... ,值n);
求长度:
    char_length 按字符为单位统计长度
    length      按字节为单位统计长度
    utf8mb4编码下,汉字一个字符占三个字节,英文一个字符占一个字节
标准sql:
    select 字段名1,
    case
    when 条件式1 then 值1
    when 条件式2 then 值2
    ...
    else 值n
    end
    from 表名;
组函数:
    最大值、最小值:max(字段名)、min(字段名)
    求和:sun(字段名)
    求个数:count(字段名) 排除null值
           count(*)查看一共有多少行
    平均值:avg(字段名)
去除重复(distinct):
    eg:select distinct 字段名1 from 表名;//去除重复后的字段名1有哪些 
    select count(distinct 字段名2) from 表名;//有几种字段名2
查询帮助:
    ?contents 总目录
分组语法:
    select 字段名 from 表名
    group by 字段名 
    having 分组条件;
分组后对select,order by的限制:
    select,order by中的字段名必须和group by 中的字段名一样
    其他没有包含在group by语句中的字段名必须和组函数一起使用

执行顺序的先后:

    where -> group by -> having -> select -> order by -> limit

语法顺序:

    select 字段名 from 表名
    where 条件式1
    group by 字段名 having 条件式2
    order by 顺序
    limit 限制;

为字段取别名:

方法一:select 字段名 别名 from 表名;
方法二:select 字段名 as 别名 from 表名;

为表取别名:

方法一:select * from 表名 别名;
方法二:select 别名.* from 表名 别名;

猜你喜欢

转载自blog.csdn.net/Eternity_y/article/details/81809163
今日推荐