当前位置:Gxlcms > 数据库问题 > MySQL常用语句:

MySQL常用语句:

时间:2021-07-01 10:21:17 帮助过:3人阅读

create table 表名( 2 列名 类型 是否可以为空, 3 列名 类型 是否可以为空 4 )ENGINE=InnoDB DEFAULT CHARSET=utf8; 技术分享
 1 create table school(
 2     nid int not null primary key,
 3     name varchar(20)
 4 )engine=innodb default charset=utf8;
 5 
 6 create table student(
 7     nid int not null primary key,
 8     name varchar(20),
 9     age int,
10     school_id int not null,
11     constraint fk foreign key (school_id) references school(nid)
12 )engine=innodb default charset=utf8;
外键

 

 

修改表结构:

 1 添加列:alter table 表名 add 列名 类型;
 2 删除列:alter table 表名 drop column 列名;
 3 
 4 修改列:
 5         alter table 表名 modify column 列名 类型;
 6         alter table 表名 change 原列名 新列名 类型;
 7 
 8 添加主键:alter table 表名 add primary key(列名);
 9         
10 删除主键:alter table 表名 drop primary key;
11        
12 添加外键:alter table 从表 add constraint 外键名称 foreign key 从表(外键字段) references 主表(主键字段);
13 删除外键:alter table 表名 drop foreign key 外键名称;

 

 1 1.增:
 2     insert into 表 (列名1,列名2...) values (值1,值2...),(值1,值2...);
 3     insert into 表1 (列名1,列名2...) select 列名1,列名2,... from 表2;
 4 
 5 2.删:
 6     delete fromwhere id=1 and name=yan;
 7 
 8 3.改:    
 9     updateset name = yan where id>1;
10 
11 4.查:
12     select nid,name,age as 别名 fromwhere id>1

 

3.条件查询:

1     select * fromwhere id>1 and name!=yan and age=21;
2     select * fromwhere id between 1 and 9;
3     select * fromwhere id in (1,2,3);
4     select * fromwhere id not in (1,2,3)
5     select * fromwhere id in (select nid from 表);

 

通配符查询:

1     select * fromwhere name like  yan% ;
2     select * fromwhere name like  yan_ ; 

 

限制查询:

1     select * from 表 limit 5;            - 前5行
2     select * from 表 limit 4,5;          - 从第4行开始的5行
3     select * from 表 limit 5 offset 4    - 从第4行开始的5行

 

排序查询:

1     select * fromorder byasc;              - 根据 “列” 从小到大排列
2     select * fromorder bydesc;             - 根据 “列” 从大到小排列
3     select * fromorder by 列1 desc,列2 asc;    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序

 

分组查询:

1     select num fromgroup by num;
2     select num fromgroup by num having max(id)>10;

 

连表查询:

1     select A.num, A.name, B.name
2     from A 
3     left join B
4     on A.nid = B.nid

 

MySQL常用语句:

标签:style   分组   arc   reference   int   group   one   sql   修改   

人气教程排行