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 tables ------如果已经有表,并且想查看表,请直接跳到.7(2)
附加:清空表的数据(创建时候的表结构还在)
truncate table + 表名
-------------------------------------------
### 附加:修改表的“属性”的各种操作
1-修改属性的位置,修改属性name到sex后面:
alter table + 表名 modify name after sex;
eg: alter table 表名 modify name varchar(255) after sex;
2-修改字段的属性-把varchar(255)改成varchar(5)
alter table + 表名 modify name varchar(5);
3- 修改字段名:把name改成userName
alter table + 表名 change name userName;
4-添加属性字段:在userName后面添加一条gender字段
alter table + 表名 add gender after userName;
5- 修改“表”名:
rename table +原来的表名 to 新的表名
6-删除字段:
alter table 表名 drop column 要删除的字段;
---------------------------------------------------
6.如果表为empty,就新建一个表
新建:
create table +你想要的表名(
id int primary key(11),
username varchar(255),
...
...
)
;
//这样表就新建好了,具体需要新建的内容,根据自己定义-----这里注意你这里新建的是,你需要的内容,但是里面为空,后续要自己填写,而填写的内容,
就是根据你现在设置表的基本属性填写的,所以设置表的时候要思考
7.创建好后,再次show table ,查看自己新建的表与表名
(1)describe+表名
(2)select *from +表名//这里的(1)(2)是用来查看表的内容,但是(1)查的是字段的属性(2查的是表的内容)
//附加:
//接下来是对内容(7)的附加,初学者等学完。10,再回头来看
//这里是锁定,或者查找--范围性的
select *from +表名 +where id>10 ;
select *from +表名 +where name="xxx"
这些可以用where快速找到
8.添加<<表>>的内容
insert into +表名(____,_____,____,写的是属性)//这里就是你在创建表的时候,定义的属性,如果忘记了别怕,7(1)的内容:describe+表名
values(___,____,_____,),(___,____,_____,),(___,____,_____,);//可以一次性传入多个,这里是你对应属性,所定义的值
//如果传入的是:varchar的内容,添加时候要加上 ' ' 符号。
//例子:insert into EnglishBook (id,name,age) values(1,'kobe',18),(2,'chenxixi',19),(3,'kyrie',12);
9.再次show table //查看表名
10. select *from +表名 //可以查看你写入的内容
11.修改《表》的指定内容show databases;
1.先use到需要到/资源库中/仓库中----->一个意思
2.show tables---->查看仓库中所有的'表'
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是自己在,定义表的基本结构定义的,你可以改成age,money都可以
降序
select *from +表名+ order by id desc
14.统计数据
select count(1)from + 表名
这里的(1)表示第一‘列’ --竖下来的。
15.limit,可以对他进行分开查找(这个是按id,一条一条的找信息)
select *from +表名 +limit n//这里的n我做解释:n表示---他会出现从 0--n 的内容
//if,要中间部分//n=0,是第一条信息
select *from +表名 +limit n ,x //这里n,x表示,出现内容为,n---->x,这部分的内容例子:select *from EnglishBook limit 0,3 ;
16.删除《一整个表》这里与。12做区分------>12是删除表的数据,16是删除一整个《表》show tables; //知道有哪些表
drop table +表名字
17.删除《一个数据库》
show databases ; //知道有哪些数据库名
drop database + 数据库名
这里解释一下,如果下面出现的《想要的条件》,是创建表格时候的 基本条件 = 字段类型 )
describe + 表名//就可以查看 ‘字符类型’---> Field的部分就是
18.查看一个《表》里面的的某个地方是否为空
select *from +表名 +where +想查的列 is null OR 字段类型 =""; //那个OR是,或者例子:Select * From EnglishBook Where id!=''
19.查看一个数据的范围(范围自己规定)
//eg1-eg2,效果一样
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.查看数据的具体数
//19与20的区别为一个是范围,一个具体内容
eg1 : elect *from +表名 + where + 字段属性 in(xx,yy,ff)
/*举个例子,你的段属性选择的是age
那么你应该这样写:elect *from +表名 + where + age in(15,45);
那么你出来的就会是age=15,45的这写数据:
+----+----------+------+
| id | name | age |
+----+----------+------+
| 1 | zhangsan | 15 |
| 3 | lisi | 45 |
+----+----------+------+*/
21.模糊查询,就是可以查找一个文件的尾巴,头部------用部分信息查找具体文件
//这里的细节是要用''而不是""
eg1 : select *from +表名 + where + 字段属性 like '% 这里加上模糊的信息 %' //这个表示全局查看,有他的内容都显示
eg2 : select *from +表名 + where + 字段属性 like ' 这里加上模糊的信息 %' //这里的%很细节,2中表示查看开头
eg3 : select *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
更新中.......