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.相关字段
总结
这为最基础的一些语句了,多多练习自然就记住了!