mysql常见指令
- 一.控制台连接数据库
- 二.DDL(Data Definition Language)数据定义语言
- 1.创建数据库
- 2.显示所有数据库
- 3.显示创建数据库的定义信息
- 4.修改数据库的定义格式
- 5.删除数据库
- 6.查看正在使用的数据库
- 7.使用/切换数据库
- 8.创建表格式
- 9.快速创建一个和表结构相同的表
- 10.查看使用的数据库中所有的表
- 11.查看表结构
- 12.查看创建表的SQL语句
- 13.删除表
- 14.修改表名
- 15.添加表列
- 16.修改列类型
- 17.修改列名
- 18.删除列
- 三.DML(Data Manipulation Language)数据操作语言
- 1.插入记录
- 2.更新表记录
- 3.删除表记录
- 三.DQL(Data Query Language)数据查询语言
- 1.查询表中的所有数据
- 2.查询指定列添加别名
- 3.消除重复值
- 4.查询结果某列数据运算
- 5.查询结果排序
- 6.聚合函数
- 7.分组查询
- 8.限制查询的条数
- 四.DCL(Data Control Language) 数据控制语言
- 1.查看用户
- 2.创建用户
- 3.修改密码
- 4.删除用户
- 5.查看用户权限
- 6.增加用户权限
- 7.删除权限
一.控制台连接数据库
mysql -u root -p root
二.DDL(Data Definition Language)数据定义语言
1.创建数据库
create database 库名;
create database if not exists 库名;
create database 库名 character set 字符集;
2.显示所有数据库
show database;
3.显示创建数据库的定义信息
show create database 库名;
4.修改数据库的定义格式
alter database 库名 default character set 字符集;
5.删除数据库
drop database 库名;
6.查看正在使用的数据库
select database();
7.使用/切换数据库
use 库名;
8.创建表格式
create table 表名(字段名1 字段类型1,....);
9.快速创建一个和表结构相同的表
create table 旧表名 like 新表名;
10.查看使用的数据库中所有的表
show tables;
11.查看表结构
desc 表名;
12.查看创建表的SQL语句
show create table 表名;
13.删除表
drop table 表名;
drop table if exists 表名;
14.修改表名
rename table 表名 to 新表名;
15.添加表列
alter table 表名 add 列名1 类型1,add 列名2 类型2;
16.修改列类型
alter table 表名 modify 列名 新类型;
17.修改列名
alter table 表名 change 旧列名 新列名 类型;
18.删除列
alter table 表名 drop 列名;
三.DML(Data Manipulation Language)数据操作语言
1.插入记录
insert into 表名(列名1,....) values(值1,.....);
-- 插入全部的列的值
insert into 表名(值1,....,值n);
2.更新表记录
-- 不带条件(慎用)
update 表名 set 列名1 = 新值1, 列名2 = 新值2,...;
-- 带条件
update 表名 set 列名1 = 新值1, 列名2 = 新值2,... where 列名1 = 值1 and 列名n = 值n and ... ;
3.删除表记录
-- 不带条件(慎用)
delete from 表名;
-- 带条件
delete from 表名 where 列名1 = 值1 and 列名n = 值 n ... ;
-- 删除表的所有记录
truncate table 表名;
三.DQL(Data Query Language)数据查询语言
1.查询表中的所有数据
select * from 表名;
2.查询指定列添加别名
-- as 可去掉
select 别别名.列名1 as 列别名1,... from 表名 as 表别名;
3.消除重复值
select distinct * from 表名;
4.查询结果某列数据运算
-- 某列值和固定值运算
select 列名1 + 固定值 as 列别名1,.... from 表名;
-- 列值和列值运算
select 列名1 + 列名2 as 列别名1,... from 表名;
5.查询结果排序
-- ASC:升序 DESC:降序
select * from 表名 order by 列名1 desc;
-- 组合排序,先按照第一个排序,第一个相同,再按照第二个排序
select * from 表名 order by 列名1 desc,列名2 asc;
6.聚合函数
-- Count(列名):统计指定的列记录数,记录为NULL的不统计
-- Sum(列名):统计指定列的数值和
-- MAX(列名):计算指定列的最大值
-- MIN(列名):计算指定列的最小值
-- AVG(列名):计算指定列的平均值
select count(列名1) as 列别名 from 表名;
7.分组查询
-- where 是在分组前对数据进行过滤
-- where 后面不可以使用聚合函数
-- having 是在分组之后进行过滤,只能在分组后面使用
-- having 后面可以使用聚合函数
select * from 表名 where 列名 = 值 group by 分组字段 having 列名 = 值;
8.限制查询的条数
-- 跳过多少条,显示几条
-- 从offect + 1行开始,总共显示length 行
select * from 表名 limit offset,length;
四.DCL(Data Control Language) 数据控制语言
1.查看用户
-- 查询用户
select * from user;
2.创建用户
-- 登录地址 'host'标识本地
-- '192.168,%' 通配符,标识任意的
create user '用户名'@'允许其登录的地址' identified by '密码';
3.修改密码
-- 修改自己的密码
set password = password('新密码');
-- 修改他人的密码(必须有权限)
set password for '用户名'@'允许其登录的地址' = password('新密码');
4.删除用户
drop user '用户名'@'允许其登录的地址';
5.查看用户权限
-- 查看自己
show grants;
-- 查看他人
show grants for '用户名'@'允许其登录的地址';
6.增加用户权限
-- 权限名 select,updata,delete 等等,ALL/all privileges 代码所有权限
-- *.* 代表数据库中的所有权限
-- 库名.* 代表数据库中的所有对象
-- identified by '密码' 用于给一个用户再此时修改密码,不写就修改密码
-- 不存在该用户就创建改用户,密码必须写
grant 权限名1,权限名2,... on 数据库名.对象 to '用户名'@'允许其登录的地址' identfied by '密码';
7.删除权限
-- 权限名,数据库名,对象名最用同上
revoke 权限名1,权限名2,... on 数据库名.对象名 from '用户名'@'允许其登录的地址';