mysql中常用命令完整大全 适用于mysql8.0
mysql中常用命令
关于安装部分就去看其他人的一些文章即可网上太多,这篇文章主要就是记录本人的一些关于mysql操作上的笔记。
mysql中常用命令
1.登录数据库
mysql -u root -p
2.查看当前数据库
show databases
3.创建数据库
create database abcd;
OK
时间: 0.003s
如果当前数据库已经存在,则会提示已存在无法创建
create database abcd;
1007 - Can’t create database ‘abcd;’; database exists
时间: 0s
4.删除数据库
drop database abcd
OK
时间: 0.008s
5.创建表user基于以下条件
员工所在部门 | 员工id | 员工姓名 | 员工的工资 |
---|---|---|---|
deptld | id | name | salary |
varchar(15) | int(15) | varchar(15) | int(10) |
使用之前已经创建数据库abcd
use abcd;
create table user(
`deptld` varchar(15),
`id` int(15),
`name` varchar(15),
`salary` int(10)
)
6.使用主键约束
primary key
比如我要设置id为主键就在表创建的时候在末尾新增
primary key (id)
多个主键的话就是直接在括号中新增即可
primary key (id,name)
如果我需要使用外键也就是连接另一个表的数据进行关联时
比如我需要在user2中,让外键deptld关联到deptld2的主键id中,
那么我可以这样操作
在创建表时在末尾写下这段
constraint deptld2 foreign key(deptld) references user(id)
7.指定非空
约束一个字段值不为空
not null
create table user(
`deptld` varchar(15) not null,
`id` int(15),
`name` varchar(15),
`salary` int(10)
)
8.唯一约束
unique
确保一列或几列不能出现重复值,但是可以为空,perimary key外键不能为空,unique允许为空,但不能重复
create table user(
`deptld` varchar(15) not null,
`id` int(15) unique,
`name` varchar(15),
`salary` int(10)
)
9.默认约束
default + 值
默认当前数值为女、或者男
create table user(
`deptld` varchar(15) not null,
`id` int(15) unique,
`name` varchar(15),
`salary` int(10) default 2500
)
10.设置表数值默认自动增加
auto_increment
每新增一个数值,默认自增加一可用在例如id之类的数据上
create table user(
`deptld` varchar(15) not null,
`id` int(15) auto_increment,
`name` varchar(15),
`salary` int(10) default 2500
)
11.查看表的字段名或者是否为空
describe user
简写
desc user
12.查询更加详细表结构
show create table user
13.修改表名
alter table user rename user1;
14.修改字段数据类型
alter table user1 modify name varchar(30);
修改前varchar是15,修改后变成varchar30
15.修改字段名
alter table user1 change name name1 varchar(15);
16.添加字段
alter table user1 add work varchar(15);
1.对添加的字段进行约束,如添加不为空
alter table user1 add workid int(8) not null;
2.对表的第一列添加一个字段
alter table user1 add worknu int(15) first;
3.在表的指定列后添加一个字段
alter table user1 add t11 int(15) after id;
4. 删除字段
alter table user1 drop t11;
5.修改字段的排列位置
alter table user1 modify id int(15) first;
将id移动到表的第一个位置
alter table user1 modify work varchar(15) after id;
将work移动到id后面
17.删除数据
drop table if exists abc;
文本字符类型
18.查询数据
1.查询所有字段
select * from user1
2.查询指定字段
select work from user1
3.查询多个字段
select work,worknu from user1;
4.查询指定记录
select work,worknu from user1 where worknu 7;
5.查询关于YYjHhHHJG6
select work,worknu from user1 where work=‘YYjHhHHJG6’
6.查询价格小于300的worknu
select work,worknu from user1 where worknu < 300
7.带in关键词的查询
worknu 104,163
select work,worknu from user1 where worknu in (104,163) order by worknu
8.查询所有worknu不等104,163的记录
select work,worknu from user1 where worknu not in (104,163) order by work
9.查询100-200之间的范围
select work,worknu from user1 where worknu between 100 and 200
10.like字符匹配查询
like 可以对字符开头a%,%a结尾,中间%a%
select work,worknu from user1 where work like ‘b%’
11.多条件查询AND
查询user1中id大于30且小于300,name1中间有c的字符,且salary大于300,并显示id,workid,name1,salary
select id,workid,name1,salary from user1 where id>30 and id<300 and name1 like ‘%c%’ and salary>300;
12.OR多条件查询
只要满足其中一个条件即可查询
select id,workid,name1,salary from user1 where id=246 OR id=170
13.查询不重复数据
select distinct workid from user1
14.对查询结果进行排序
order by desc降序排序
order by asc升序排序
多列排序,先按照work排序再按照id排序
select id,work from order by work ,id;
15.分组查询
对workid进行分组,相同id为一组,并计算其中总数
select workid,COUNT(*) as total from user1 GROUP BY workid
16.查询结果显示头几行
limit 4就是显示前四行
limit 5,10就是从第5行开始显示到第10行
select * from user1 LIMIT 5,10
17.聚合查询
1.count 统计列中包含的行数
select count(id) from user1;
统计id中包含最大的数据
2.avg返回某列中的平均值
select avg(salary) from user1;
统计salary中的平均数据
3.max返回某列的最大值
select max(salary) from user1;
返回salary中最大值
4.min返回某列最小值
select min(salary) from user1;
返回最小值
5.sum返回某列的和
select sum(salary) from user1;
返回salary中的总值
19.表别名
select * from user1 as u where u.worknu =535;
u就是表的别名直接用u代替user1使用即可查询到表内的信息
1.字段别名
select work AS w,worknu as wn from user1 as u where u.worknu = 94
20.使用正则查询
具体正则可参考以下文章
正则表达式常用字符匹配列表
1.查询work中c开头的记录
select * from user1 where work REGEXP ‘^c’
2.查询work中c结尾的记录
select * from user1 where work REGEXP ‘c$’
3.查询字符串中任意一个包含字符"."
select * from user1 where work REGEXP ‘x.c’
4.查询连续出现次数的字符
a{3,} a最少出现3次
a{1,3} a最少出现1次,最多出现3次
select * from user1 where workid regexp ‘7{1,3}’
20.为指定表和插入数据
insert into user1 (id,work,worknu,deptld,name1,salary,workid) VALUES (1,‘adc’,222,‘abcdeer’,‘Dem Kevi’,22222,12345)
同时插入多条数据
insert into user1 (id,work,worknu,deptld,name1,salary,workid) VALUES (1,‘adc’,222,‘abcdeer’,‘Dem Kevi’,22222,12345),(2,‘abcd’,333,‘abcddd’,‘Kce ve’,2222,11111)
21.更新数据update
将id为52的数据更新,将worknu更新成666,salary更新成8888
update user1 set worknu=666,salary=8888 where id =52;
between AND 更新从多少到多少的数值
更新id为20-30,将salary数值变成8888
UPDATE user1 set salary=8888 where id BETWEEN 20 and 30;
22.删除数据
DELETE from user1 where id =52;
删掉user表中id为52的数据
1.删除user1表中id为30-100的数据
DELETE from user1 where id BETWEEN 30 and 100;
2.删除表中所有的记录
delete from user1;
21.创建一个用户
创建一个用户,用户名user10,密码gkbb123 主机名localhost
create user ‘user10’@‘localhost’ IDENTIFIED by ‘gkbb123’
22.删除用户
删除user10
drop user ‘user10’@‘localhost’
23.创建普通索引
create index a on user1(work);
查询索引
show index from user1
24.创建唯一索引
create unqiue index abc on user1(wrok)
注意:这里面的字段里面不能有重复值不然的话无法创建唯一索引
25.创建主键索引
create table w(id int PRIMARY key)
show index from w;查询主键
alter table w drop primary key;
删除主键
26.创建视图
在user1表中创建一个名为a的视图,并只显示work和workid
create view a as select work,workid from user1
SELECT * from a
查看视图中的数据
27.多表视图
在st1表中和st2表中同时创建一个视图f1,同时显示id,name,class
create view f1 (id,name,class) as SELECT st1.id,st1.name,st2.class FROM st1,st2 where st1.id=st2.id
注意:需要保证两个表的列数相同不然无法创建成功
SELECT * from f1
查询创建的表
查看视图的基本内容
describe f1
show table status like ‘f1’
查看视图基本信息
show create view f1
查看视图的详细信息
28.修改视图
create or replace view f1 as select * from user1
将f1视图的信息源变成user1
alter view f1 as select name from st1
alter也可以对视图内部的显示字段进行修改
29.更新视图
update f1 set name=5
视图内的name字段全变成5
insert into f1 values (11)
对视图进行插入操作
delete from f1 where name=5
将视图里面的name=5的记录全删掉
30.删除视图
drop view if exists f1;
删除f1视图
更多推荐
所有评论(0)