关于安装部分就去看其他人的一些文章即可网上太多,这篇文章主要就是记录本人的一些关于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员工姓名员工的工资
deptldidnamesalary
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视图
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐