MYSQL

DDL 数据定义语言

创建数据库

1.创建数据库
CREATE DATABASE 数据库名;
2.判断数据库是否存在,若不存在则创建数据库
CREATE DATABASE if not exists 数据库名;
3.创建指定字符集的数据库
CREATE DATABASE 数据库名 CHARACTER SET 字符集;

查看数据库

1.查看所有数据库
show databases;
2.查看某个数据库的定义信息
show create database 数据库名;

修改数据库

1.修改数据库的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

删除数据库

drop database 数据库名;

使用数据库

1.使用数据库
use 数据库名;
2.查看当前使用的数据库
select database();

创建表

create table 表名 (
字段名1 字段类型 1,
字段名2 字段类型 2,
字段名3 字段类型 3
);

查看表

1.查看正在使用的数据库中的所有表
show tables;
2.查看表结构
desc 表名;
3.查看创建表的SQL语句
show create table 表名;

创建一个表结构相同的表

create table 新表名 like 旧表名;

删除表

1.删除表
drop table 表名;
2.判断表是否存在,若存在则删除
drop table if exists 表名

修改表结构

1.添加列
ALTER TABLE 表名 ADD 列名 类型;
2.修改类型
ALTER TABLE 表名 MODIFY 列名 新类型;
3.修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
4.删除列
ALTER TABLE 表名 DROP 列名;
5.修改表名
rename table 表名 to 新表名;
6.修改字符集
ALTER TABLE 表名 character set 字符集;

DML 数据操作语言

插入

insert into 表名(字段名 1, 字段名 2) values (字段值 1, 字段值2) (字段值 1, 字段值2) (字段值 1, 字段值2)…;

更新

update 表名 set 列名 = 值 where 条件;

删除

delect from 表名 where 条件;

DQL 数据查询语言

简单查询

select * from 表名;

去重

distinct 去除重复值

条件查询

<> :不等于
between…and:介于两者之间
in() :在()里存在
like :模糊查询
isnull :值为null

排序

order by

聚合函数

max() 最大值,min() 最小值,avg()平均值,count() 求个数,sum() 求和

分组

group by having

limit

limit offset, lenth

约束

主键约束

非空且唯一
primary key
alter table 表名 add(添加)/drop(删除) primary key(字段名);
auto_increment:自动增长
设置自动增长的初始值:ALTER TABLE表名AUTO_INCREMENT = 初始值;

唯一约束

unique

非空约束

not nul
default :设置默认值

外键约束

foreign key
另一张表的主键作为这张表的外键
constraint 外键名 foreign key (外键字段名) references 主表名(主键字段名);
外键的级联
on update cascade 级联更新
on delete cascade 级联删除

检查约束(mysql不支持)

表连接查询

多表查询

隐式内连接

SELECT 字段名 FROM 左表, 右表 WHERE 条件;

显示内连接

SELECT 字段名 FROM 左表 join 右表 on 条件;

左外连接

SELECT 字段名 FROM 左表 left join 右表 on 条件;

右外连接

SELECT 字段名 FROM 左表 right join 右表 on 条件;

子查询

一个查询作为另一个查询的条件

子查询为一个值的时候

SELECT 查询的字段 FROM 表 WHERE 字段 = (子查询);

子查询为单行多列的时候

SELECT 查询的字段 FROM 表 WHERE 字段 in (子查询);

子查询为多行多列的时候

SELECT 查询的字段 FROM(子查询)表别名 where 条件;

DCL 数据控制语言

事务

开启事务: start transaction;
提交事务:commit;
事务回滚:rollback;

回滚点

savepoint 回滚点名;
回滚到回滚点:
rollback to 回滚点ming;

事务的四大特性

原子性,一致性,隔离性, 持久性。

事务的隔离级别

脏读

读到另一个事务未提交的数据

不可重复读

读两次的内容不一致 update 引起

幻读

读两次的数量不一致 insert delect引起

隔离级别

1.读未提交(read uncommitted) 会造成 脏读,不可重复读,幻读
2.读已提交(read committed) 会造成不可重复读,幻读
3.可重复读(repeatable read) 会造成幻读
4.串行化(serializable) 无

设置隔离级别

set global transaction isolation level 级别字符串;

修改数据库安全模式
SET SQL_SAFE_UPDATES = 0;

索引

创建索引
create index 索引名 on 表(字段名);
删除索引
alter table 表 drop index 索引名;

索引的好处!!!

视图

临时的表
创建视图:create view 视图名 as 查询
删除:drop view 视图名;

视图的好处!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值