mysql的shell命令


本章的内容为-- mysql的终端命令


众所周知mysql(数据库)--是噩梦的开端,大家可能都会mysql在Navicat(数据库的可视化工具)中的操作,所以这边建议是mysql和Navicat(数据库的可视化工具)配套安装

navicat的免费版本--https://macwk.com/soft/navicat-for-mysql


1.show databases //查看总体的数据库


2.如果已经有想操作的数据库了,就直接-------use+库名--->直接看.4
2.1如果没有想要的库,就新建一个库-----------create + database + 库名

3.如果执行了2.1-----就再show databases //查看总体的数据库,看看是否新建了,顺便看看库名
3.1 use 库名

4.进入4的前提,是确实已经use进自己想要的库---的前提下
然后查看自己的<表>-----------这里注意--------(数据库-->表)


5.先查看表
show table ------如果已经有表,并且想查看表,请直接跳到.7(2)

6.如果表为empty,就新建一个表
新建------
create table +你想要的表名(
id int(11)
username varchar(255)
...
...
)
;

//这样表就新建好了,具体需要新建的内容,根据自己定义-----这里注意你这里新建的是,你需要的内容,但是里面为空,后续要自己填写,而填写的内容,
就是根据你现在设置表的基本属性填写的,所以设置表的时候要思考

7.创建好后,再次show table ,查看自己新建的表与表名
(1)describe+表名
(2)select *from +表名 //这里的(1)(2)是用来查看表的内容,如果没有内容,就添加



//接下来是7的附加,初学者等学完。10,再回头来看
//这里是锁定,或者查找--范围性的
select *from +表名 +where id>10 ;
select *from +表名 +where name="xxx"
这些可以用where快速找到



8.添加<<表>>的内容
insert into +表名(____,_____,____)------>(//这里就是你在创建表的时候,定义的属性,如果忘记了别怕,7.1-7.2可以找到//)
+ values(___,____,_____,),(___,____,_____,),(___,____,_____,)------->可以一次性传入多个(//这里是你对应属性,所定义的值//)
;

9.再次show table //查看表名

10. select *from +表名 //可以查看你写入的内容


11.修改《表》的指定内容
1.先use到需要到/资源库中/仓库中----->一个意思
2.show table---->查看仓库中所有的表
3.select *from + 表名 //查看该表的内容
4.如果需要进行修改《表》的内容
update +需要改的《表》名 + set + 你需要吧什么改成什么 + where + 一个他前面的标志
(这个标志怎么理解:比如A,B,C,D,E,F,六个人,这时C喜欢的女生在E后面,C就要想和E换位置,那C肯定要告诉E我前面有A,B两个美女,E就同意换
such-as:---> update user set age =99 where username=欧文"";



12.删除《表》的指定内容
1.先use到需要到/资源库中/仓库中----->一个意思
2.show table---->查看仓库中所有的表---------->这里获得的表,就是下面的表名
3.select *from + 表名 //查看该表的内容
4.如果要删除《表》的内容
delete from +表名 +where +你需要修改的内容
such-as:---> delete from user where username="科比";



13.排列顺序
1.先use到需要到/资源库中/仓库中----->一个意思
2.show table---->查看仓库中所有的表---->*2进行的就是---这里获得的表,就是下面的《表名》
3.select *from + 表名 //查看该表的内容
4.如果你想要排列
升序
select *from +表名+ order by id asc //注释这里的ID是自己在,定义表的基本结构定义的
降序
select *from +表名+ order by id desc



14.统计数据
select count(1)from + 表名
这里的(1)表示第一列


15.limit,可以对他进行分开查找
select *from +表名 +limit n //这里的n我做解释:n表示---他会出现从1--n的内容
if,要中间部分
select *from +表名 +limit n ,x //这里n,x表示,出现内容为,n---->x,这部分的内容



16.删除《一整个表》这里与。12做区分------>12是删除表的数据,16是删除一整个《表》
drop table +表名字


17.删除一个数据库
drop database + 数据库名



这里解释一下,如果下面出现的《想要的条件》,是创建表格时候的,基本条件
describe + 表名 =====>就可以查看基础条件--->Field的部分就是



18.查看一个《表》里面的的某个地方是否为空
select *from +表名 +where +想查的列 is null OR 想查的条件=""; //那个OR是,或者


19.查看一个数据的范围(范围自己规定)
eg1: select *from +表名 + where + 想要的条件 >xx AND 想要的条件 < xx //注释:想要的条件是在创建表的时候,定义的条件
eg2: select *from +表名 + where + 想要的条件 between xx and xx //注释:表示在xx与xx分数内的范围
eg3: select *from +表名 + where + 想要的条件 not between xx and xx //注释:表示不在xx与xx分数内的范围


20.查看数据的具体数
eg1 : elect *from +表名 + where + 想要的条件 in(xx,yy,ff) //19与20的区别为一个是范围,一个具体内容
eg2 : elect *from +表名 + where + 想要的条件 in(xx,yy,ff)


21.模糊查询,就是可以查找一个文件的尾巴,头部------用部分信息查找具体文件
//这里的细节是要用''而不是""
eg1 : elect *from +表名 + where + 想要的条件 like '% 这里加上模糊的信息 %' //这个表示全局查看,有他的内容都显示
eg2 : elect *from +表名 + where + 想要的条件 like ' 这里加上模糊的信息 %' //这里的%很细节,2中表示查看开头
eg3 : elect *from +表名 + where + 想要的条件 like '% 这里加上模糊的信息' //这里的%%很细节,1中表示查看尾巴


22.函数
1.求平均数
select avg(+想要的条件) from 表名
2.求人数
select count(+想要的条件) from 表名
3.求最大值
select max(+想要的条件) from 表名
4.求最小值
select min(+想要的条件) from 表名
5.求和
select sum(+想要的条件) from 表名


23.
对22的进化
在22中,我们只能找到最大的分数,现在我们要找到最大分数人的全部信息
只要在前面加入select * from class where score in()就可以,接下里,看具体
eg1 : select * from 表名 where 想要的条件 in(select max(想要的条件) from 表名)
such-as : select * from class where score in(select max(score) from class)
最小值人也一样,这边就不示范l


24.
mysql的别名:
语法:select 条件名字 as 需要该的名字,条件名字 as 需要该的名字 ,条件名字 as 需要的名字 from +表名
就是用as来取别名



25.(索引)
1.添加一个索引----找东西会快
create index +你想要索引的名字 +on +表名+列名

2.添加一个<唯一索引>----找东西会快-----但是唯一索引不能重复
create unique index + 你想要索引的名字 +on +表名+列名

3.删除一个表的索引
drop index 已经创建的表名 + on + 表名

4.查看索引
show index from + 表名\G



事务
打开事务后,可以让你在终端的结果,不会马上回馈到资源库里面,要commit后才会回馈
begin 开始一个事务
rollback 事务回滚
commit 事务确认



设置锁
lock table +表名 +read/write
解锁
unlock tables

更新中.......