mysql的增删该查

1、增
insert into 表 (列名,列名...) values (值,值,值...)
insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...)
insert into 表 (列名,列名...) select (列名,列名...) from
 
2、删
delete from
delete from where id=1 and name'alex'
 
3、改
update set name 'alex' where id>1

4、查

select * from
select * from where id > 1
select nid,name,gender as gg from where id > 1

5、其他

a、条件
    select * from where id > 1 and name != 'alex' and num = 12;
 
    select * from where id between 5 and 16;
 
    select * from where id in (11,22,33)
    select * from where id not in (11,22,33)
    select * from where id in (select nid from 表)
 
b、通配符
    select * from where name like 'ale%'  - ale开头的所有(多个字符串)
    select * from where name like 'ale_'  - ale开头的所有(一个字符)
 
c、限制
    select * from 表 limit 5;            - 前5行
    select * from 表 limit 4,5;          - 从第4行开始的5行
    select * from 表 limit 5 offset 4    - 从第4行开始的5行
 
d、排序
    select * from order by asc              - 根据 “列” 从小到大排列
    select * from order by desc             - 根据 “列” 从大到小排列
    select * from order by 列1 desc,列2 asc    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序
 
e、分组
    select num from group by num
    select num,nid from group by num,nid
    select num,nid from 表  where nid > 10 group by num,nid order nid desc
    select num,nid,count(*),sum(score),max(score),min(score) from group by num,nid
     select num,nid,count(*),sum(score),max(score),min(score) from group by num,nid having 条件
    select num from group by num having max(id) > 10
 
    特别的:group by 必须在where之后,order by之前
 
f、连表
    无对应关系则不显示
    select A.num, A.name, B.name
    from A,B
    Where A.nid = B.nid
 
    无对应关系则不显示
    select A.num, A.name, B.name
    from A inner join B
    on A.nid = B.nid
 
    A表所有显示,如果B中无对应关系,则值为null
    select A.num, A.name, B.name
    from A left join B
    on A.nid = B.nid
 
    B表所有显示,如果B中无对应关系,则值为null
    select A.num, A.name, B.name
    from A right join B
    on A.nid = B.nid
 
g、组合
    组合,自动处理重合
    select nickname
    from A
    union
    select name
    from B
 
    组合,不处理重合
    select nickname
    from A
    union all
    select name
    from B
e.if条件语句的用法
  IF( expr1 , expr2 , expr3 )
  expr1 的值为 TRUE,则返回值为 expr2
  expr1 的值为FALSE,则返回值为 expr3
f.ifnull的表达式用法
  IFNULL( expr1 , expr2 )
  在 expr1 的值不为 NULL的情况下都返回 expr1,否则返回 expr2
g.isnull的用法
  select isnull(studentid,100)from student_info
  意思是查出student_info表中字段为studentid的值,如果字段studentid值为空就在字段studentid中添加100。
 
1、创建表
create table 表名(
    列名  类型  是否可以为空,
    列名  类型  是否可以为空
)ENGINE=InnoDB DEFAULT CHARSET=utf8

2、删除表
drop table 表名
3、清空表
delete from 表名

truncate table 表名
 

4、修改表


添加列:alter table 表名 add 列名 类型 删除列:alter table 表名 drop column 列名 修改列: alter table 表名 modify column 列名 类型;
-- 类型 alter table 表名 change 原列名 新列名 类型; -- 列名,类型 添加主键: alter table 表名 add primary key(列名); 删除主键: alter table 表名 drop primary key; alter table 表名 modify 列名 int, drop primary key; 添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段); 删除外键:alter table 表名 drop foreign key 外键名称 修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; 删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

 

posted @ 2018-06-27 14:32  liang哥哥  阅读(66)  评论(0)    收藏  举报