Mysql的命令大全

一、数据库

1、创建数据库
sql 复制代码
create database 数据库名 charset utf8;
2、查看数据库
sql 复制代码
show databases;
select databse();
3、删除数据库
sql 复制代码
drop databse 数据库名;
4、使用数据库
sql 复制代码
use 数据库名;

二、数据表

1、创建表
sql 复制代码
create table 表名(字段名 类型);
2、查看表
sql 复制代码
show tables;
3、修改表
sql 复制代码
alter table 表名 modify 字段名 char(6); # 修改字段数据类型
sql 复制代码
alter table 表名 rename 新表名;  # 修改表名
sql 复制代码
alter table 表名 add 字段名 数据类型;  # 新增字段
sql 复制代码
alter table 表名 drop 字段名;  # 删除字段
sql 复制代码
alter table 表名 chaneg 旧字段名 新字段名 数据类型; #修改字段名
4、查看表结构
sql 复制代码
desc 表名;
5、删除表
sql 复制代码
drop table 表名;

三、数据

1、插入数据
sql 复制代码
insert into 表名(字段名) values(数据)
2、查看数据
sql 复制代码
select 字段名 from 表名;
select * from 表名;
3、修改数据
sql 复制代码
update 表名 set 字段名="";
4、删除数据
sql 复制代码
delete from 表名;

四、数据类型

1、数值类型
类型 大小
int(整数) 4字节
float(浮点数) 4字节
double(浮点数) 8字节
smallint(整数) 2字节
bigint(整数) 8字节
2、日期类型
类型 格式
year YYYY(2014)
date YYYY-MM-DD(2014-12-31)
time HH:MM:SS(11:59:30)
datetime YYYY-MM-DD HH:MM:SS
timestamp YYYYMMDD HHMMSS
3、字符类型
类型 区别
char (定长)处理速度更快
vachar (不定长)存储空间少
4、枚举类型与集合类型
类型 区别
enum(枚举) 在给定范围选一个值
set(集合) 在给定范围选多个值

五、约束条件

1、完整性约束
sql 复制代码
create table students(name char(16),sex not null default '男'); # 如果输入性别为空,则默认为男
2、唯一性约束
sql 复制代码
create table students(id int unique,name char(16) unique); # unqie为唯一,可以有多个
3、主键
sql 复制代码
create table students(id int primary key,name char(16)); # 主键不能为空,且必须唯一
sql 复制代码
create table students(id int ,name char(16),primary key(id,name)); # 联合主键
4、自增
sql 复制代码
create table students(id int primary key auto_increment );
5、外键
sql 复制代码
create table students(id int, name char(6),foreign key(class_id) references class(id));

六、单表记录查询

1、定义显示格式
sql 复制代码
select concat('姓名:',name,'年龄',age)as decs from students;
2、去重
sql 复制代码
select distinct name,age from students;
3、条件约束
sql 复制代码
select * from students where age>=18;  # 单条件查询
select * from students where age>=18 and sex="男"; # 多条件查询
select * from students where age between 18 and 25;  # 范围查询
select * from students where name in ('hhq','zxy'); # 包含查询
select * from students where name like "黄%";  # 模糊查询
4、分组查询
聚合函数 作用
max 最大值
min 最小值
avg 平均值
sum 总值
count 计数
mysql 复制代码
select age,count(age) as '年龄人数' from students group by age;
5、过滤
mysql 复制代码
select age,count(age) as '年龄人数' from students group by age having 年龄人数>25;
6、排序
mysql 复制代码
select age from students order by age asc;  # 升序,默认升序
select age from students order by age desc;  # 降序
7、限数
mysql 复制代码
select * from students limit 10;

七、多表记录查询

1、基础查询(本质)
sql 复制代码
select * from studends,class where students.cls_id=class.id;
2、内连接
sql 复制代码
select * from students inner join class on students.cls_id=class.id;  # 查询2张表的共同部分
3、左连接
sql 复制代码
select * from students left join class on students.cls_id=class.id;  # 以左表为准,查询2张表的共同部分
4、右连接
sql 复制代码
select * from students right join class on students.cls_id=class.id;  # 以右表为准,查询2张表的共同部分
5、外连接
mysql 复制代码
select * from students left join class on students.cls_id=class.id
union
select * from students right join class on students.cls_id=class.id;  #同时以左表和右表为准,查询记录

八、视图

1、创建视图
sql 复制代码
create view 视图名 as select * from students where age>18;
2、修改视图
mysql 复制代码
alter view 视图名 as select * from students where age>20;
3、删除视图
sql 复制代码
drop view 视图名;

九、事务

1、开启事务
mysql 复制代码
start transaction;
2、提交事务
mysql 复制代码
commit;
3、回滚
mysql 复制代码
rollback;

十、索引

1、创建索引
create index 索引名 on 表名(字段名);
相关推荐
tatasix34 分钟前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。1 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了1 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度1 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮1 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
gma9992 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️2 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
Yz98762 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
武子康2 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
黑色叉腰丶大魔王3 小时前
《MySQL 数据库备份与恢复》
mysql