MySql的SQL语句小结

##DATABASE 数据库:创建,删除,展示指定数据库
    show databases;展示
    create database hero;创建
    drop database hero;删除
##TABLE 表格:创建,删除,展示指定表
    show tables;展示
     create table(
        u_id int(4) auto_increment, 
        u_name varchar (20), 
         primary key(u_id)
     )charset=utf8;创建
     drop table user;删除
     alter table user rename new_user;修改表名
##TABLE 修改,添加,删除(字段)
    alter table user modify username varchar(30);在表内修改字段属性
    alter user change email em varchar(32);在表内修改字段名字和属性
    alter table user add age int(3);在表内添加字段
    alter table user add email varchar(60) after password;在表的指定字段后添加新字段
    alter table user add id int(20) first;在表的开头添加字段
    alter table user drop age;在表内删除指定字段
##DATA 修改,添加,删除,查询(表内信息)
    insert into hreo values;添加到表内信息(不指定字段)
    insert into satr(name,money,age) values('赵',300,23);添加到表内信息(指定字段)
    update star set age=31, money=1000 where id=1;修改表内的条件信息(搭配指针)
    delete from star where id=2;删除表内添加的信息(搭配指针)
##SELECT 查询
    select * from star;查询表格下的所有数据
    select name,money,provice from hero;查询表格下指定字段的数据
    select distinct province,sex from hero;
    嵌套:
        select * from user where gid in (1, 3, 5);
        select * from user where gid in (select gid from goods);
##ORDER BY 结果集排序
    asc:升序(默认方式)    desc:降序
    多字段排序,当前字段一样时按照后面字段进行排序
    例:select * from hero order by u_age asc;
    例:select * from star order by sex asc, age desc;
##LIMIT 限制结果集
    select * from hero limit 5; 取结果集的前五条数据
    select * from hero limit 5 offset 2;结果集偏移两条数据,取五条数据
    select * from hero limit 2, 5;结果同上
##条件查询
    >:大于; >=:大于等于; <:小于; <=:小于等于;
    =:等于; !=或<>:不等于; and:并且; or:或者
    [not]between m and n:不在区间[m,n]之间; 
    [not]in():不在指定集合中; [not]like 条件:模糊匹配,%表示任意字符
##聚合函数
    count:统计个数 sum:求和 avg:平均值 max:最大值  min:最小值
##GROUP BY 分组及过滤
    group by 是在对数据集的进行筛选
    where 是对结果集进行聚集
    having 是对筛选出的组再次进行过滤(条件中常包含聚合函数)
    where 之后用 group by 之后用 having
    例:select * from hero group by u_age;
    例:select count(*) as c, province from star group by province having c>1  
##事务处理
    start transaction   开启事务
    commit              提交事务
    rollback            回滚操作
    保障数据库安全出现数据的事务
    1原子性,2一致性,3持久性,4隔离性(脏读,不可重复读,幻读/虚读)
##创建多表关系
    FOREIGN KEY(o_buyer_id) REFERENCES s_user(u_id),
    FOREIGN KEY(o_seller_id) REFERENCES s_user(u_id),
    确定两个表的主外键,同时确定两个表的关系
    alter table emp add constraint foreign key emp(deptno) references dept(deptno),修改表给表增加外键并和另一表的主键建立关系
##多表联合查询
    隐式内连接
        select username,name from user,goods where user.gid=goods.gid;
    显示内连接  join 前可以添加inner或cross
        select username,name from user join goods on user.gid=goods.gid;
    左外连接
        select username, name from user left [outer] join goods on user.gid=goods.gid;
    右外连接
        select username, name from user right [outer] join goods on user.gid=goods.gid;

你可能感兴趣的:(数据分析)