Mysql Workbench 基本语句


前言

SQL语言关键字不区分大小写,但不同的数据库,对于表名和列名,有的数据库区分大小写,有的数据库不区分大小写。


一、创建数据库

create database 数据库名

二、修改数据库名

rename database old_数据库名 to new_数据库名

不建议用这个语句,新版不支持了
可在网上找不同的方法

三、删除数据库

drop database 数据库名

四、查看数据库列表

show databases;

五、创建表

use 数据库名;create table 表名 (字段)

字段—-(name varchar(45) not null)name 为字段名 ,varchar(45) 为数据类型 ,not null 为不为空,

六、修改表名

use 数据库名;alter table old_表名 rename to new_表名

七、删除表名

use 数据库名;drop table 表名

八、查看数据库中的数据表:

use 数据库名;show tables;

九、查看数据表的结构:

use 数据库名;describe 表名

十、表中添加字段

use 数据库名;alter table 表名add (字段)

十一、修改字段的数据类型或者是否为空值

use 数据库名;alter table 表名 modity column 字段名 ___要改的__    ___要改的(也可以省略)___

十二、删除字段名

use 数据库名;alter table 表名 drop column 字段名;

十三、创建主键

use 数据库名;alter table 表名add constraint PK_字段名primary key (字段名)

十四、删除主键

1.无其他约束,可以直接删
2.如果有其它约束,先解除约束,再删除

alter table 表名 drop primary key;

十五、默认约束

use 数据库名;alter table 表名change column 字段名字段名 数据类型 default 'X';

十六、删除默认约束

use 数据库名;alter table 表名change column 字段名字段名 数据类型 default null;

十七、检查性约束

use 数据库名;alter table 表名add constraint CK_字段名check (字段名 between xx and xx)

就是给一定的范围

十八、删除检查性约束

ALTER TABLE <数据表名> DROP CONSTRAINT <检查约束名>;

有问题,我语句报错

十九、字段中插入值

insert into 表名 (字段名1,字段名2,字段名3...) values (x1,x2,x3...); insert 表名 (字段名1,字段名2,字段名3...) values (x1,x2,x3...); insert into 表名 values (x1,x2,x3);

插入值的时候一定要注意字段的数据类型,再插值
刚开始学个人比较推荐用第一种

二十、替换值

replace into 表名 (字段1,字段2,.....) value (1,2,.....);

判断条件最好用主键判断

二十一、删除插入值

delete from 表名 where 判断条件;

判断条件最好用主键判断

二十二、更改插入值

update 表名 set 字段=新字段内容 where 判断条件;

判断条件最好用主键判断

二十三、关联外键

alter table 外表名add constraint FK_字段名 foreign key (字段名) references 主表名(字段名);

二十四、删除外键约束

 alter table 表名 drop foreign key 外键名;

二十五、索引

alter table 表名 add index 自己取的名字 (字段名);

二十六、唯一索引

alter table 表名 add unique index 自己取的名字 (字段名);

二十七、添加唯一约束

alter table 表名 add constraint 自己取的名字 unique (字段名);

二十八、基本查询

select * from 表名;

二十九、条件查询

 select * from 表名 where 判断条件

三十、投影查询

select 字段1,字段2.....from 表名;

三十一、分页查询

 select * from 表名 limit X1 offset X2;

三十二、聚合查询

 select max(字段),min(字段),count(字段),avg(字段) ,sum(字段)from 表名;

三十三、分组查询

select * from 表名 group by 字段;

三十四、多表查询

 select * from 表名1,表名2;

三十五、排序查询

select * from 表名 order by 字段 [asc/desc] ;

asc 为升序 (默认)
desc 为降序

三十六、内外表连接查询

内连接:select * from 表名1 inner join 表名2 on 表名1.相关字段=表名2.相关字段外连接:select * from 表名1 outer join 表名2 on 表名1.相关字段=表名2.相关字段

总结

这为最基础的一些语句了,多多练习自然就记住了!