MySQL基础关键字
MYSQL:
1.DDL操作数据库和表
2.DML增删改
3.DQL查询表中的数据
4.DCL权限问题
DDL:
1.操作数据库CRUD
reate:创建 Retrieve:查询 Update:修改 Delete:删除
创建:
show databases**;//查询所有数据库名称
show create database dataname;//现实这个表创建的表格式
create databese dataname;//创建dataname
create database if not exists sqlname;//判断dataname存不存在,存在就不去创建
create database databame character set gbk;//表默认编码
修改:
alter database dataname character set gbk;//修改字符编码
删除:
drop database dataname;//删除数据库、
drop database if exists dataname;//判断是否存在,然后删除
使用:
select database();//查看当前数据库名称
use database;//使用数据库
2.操作表
1.创建:
create table tablename(
列名 数据类型,
...
);//创建表 int
double(max,size)
date(只包含年月日)
datetime:
年月日时分秒yyy-mm-dd HH:mm:ss
timestamp:不赋值默认使用当前时间/*时间戳*/
varchar(20):最大20字符
2.查询:
show tables;//查询表
desc tablename;//表结构查询
3.修改:
alter table tablename rename to newname;//修改表名
show create table tablename;//显示表的字符集
alter table tableaname character set 字符集;//修改字符编码
alter table tablename add 列名 数据类型;//添加一列
alter table tablename change 列名 新列名 新数据类型;//修改列名和数据类型
alter table tablename modify 列名 新数据类型;//修改数据类型
alter table tablename drop 列名;//删除一列
4.删除:
drop table tablename;//删除表
drop table if exists tablename;//判断是否存在然后删除
5.复制表:
create table tablename like name;//
DML:增删改表数据
添加
insert into 表名(1,2,3) values(1,2,3);
删除
delete from 表名 where 条件;
truncate table 表名;//删除表然后创建一个一模一样的表
修改
update 表名 set 列名=值... where 条件;
DQL:查询表记录
select
字段列表
from
表名列表
where
条件
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
多个字段;
select 列名... from 表名;
去重复
select distinct 列名 from 表名;
计算列
select 列名 列名+列名 from 表名;
select 列名 列名+ifnull(列名,0) from 表名;
起别名
select 列名 列名+ifnull(列名,0) as 列名from 表名
条件:
where
between..and
like:模糊查询 _单个字符 %任意多个字符
select * from biaoming where name like "ma%";
排序:
order by 列名 排序方式://默认升序desc/asc
聚合函数:将一列的作为整体
count:计算个数
max:最大
min:最小
sum:求和
avg:平均数
select 聚合函数(ifnull(列名)) from 表名;
分组查询:
group by 分组字段;
select from biaoming group by 列名;
select sex,avg() from 表名 group by 列名;
select sex,avg() from 表名 group by 列名 having count(id)>;
where在分组之前,在分组之后;
不能使用聚合函数判断,后者反之
分页查询:
limit offindex,size;
约束:
主键约束:primary key//非空且唯一
自动增长:auto_increment\
alter table biaoming modify id int;
非空约束:not null
唯一约束: unique
外键约束:foreign key//表与表之间产生关系
create table biaoname(
constraint 外键名称 foreign key() references 主表名称()
);
删除:
alter table 主表 drop foreign key 外键名表
创建完表之后再来外键:
alter 主表 add constraint foreign key() references
级联操作: