MySQL小白入门攻略
小白阅读前说明:
下面的内容是我自己曾经学习时做的笔记,较为简洁,内容不完善,但是新手值得看并可以作为自己牢记命名的简单练习,想学好数据库的前提是先得牢记命令和用法,就像学习英语一样,首先得背会单词,然后学习语法,后面才方便熟记短语和文章,所以在学习数据库的时候,我们先得知道单词是什么意思,是添加,删除,修改还是查看,这些都是见名知意的,我个人建议是分开来记,哪些是DDL,哪些是DQL等,分开记忆,不容易出错,熟悉了之后,可以把我下面的这些总结出来的抹掉后面的语句,把前面的文字写在纸上,然后根据前面的文字,写出后面的sql语句,例如:删除数据库(写纸上或者复制到文档里面):drop database [if exists] 数据库名(根据前面的写出后面的sql语句)。
ps:所有命令都是以英文分号结尾,[ ]里面的内容可写可不写。
MySQL数据库
安装好mysql之后,在cmd里面输入:mysql -u root -p
然后输入之前设置的密码就可以进入mysql了。
控制台进入mysql之后,可以输入下面指令,现在一般都是默认打开启动了的,可以忽略。
1.启动:net start mysql80
2.停止:net stop mysql80
DDL-数据库操作:
查询所有数据库:show databases;
查询当前数据库:select database();
创建数据库:create database [if not exists] 数据库名 [default charset 字符集][collate 排序规则];
删除数据库:drop database [if exists] 数据库名;
使用数据库:use 数据库名;
DDL-表操作:
查询当前数据库的所有表:show tables;
查询表结构:desc 表名;
查询指定的建表语句:show create table 表名;
创建表:
Create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
字段3 字段3类型[comment 字段3注释],
…
字段n 字段n类型[comment 字段n注释],
)[comment 表注释];
添加字段:alter table 表名 add 字段名 类型(长度)[comment 注释][约束];
修改数据类型:alter table 表名 modify 字段名 新数据类型(长度);
修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];
删除字段:alter table 表名 drop 字段名;
修改表名:alter table 表名 rename to 新表名;
删除表:drop table [if exists] 表名;
删除指定表,并重新创建该表:truncate taable 表名;
DML-添加数据:
给指定字段添加数据:
insert into 表名(字段1,字段2,…) values(值1,值2,…);
给全部字段添加数据:
insert into 表名 values (值1,值2,…);
批量添加数据:
insert into 表名(字段1,字段2,…) values(值1,值2,…),(值1,值2,…),(值1,值2,…);
insert into 表名values(值1,值2,…),(值1,值2,…),(值1,值2,…);
注意:
1.插入数据时,指定的字段顺序需要与值的顺序一一对应。
2.字符串和日期类型数据应该包含在引号中。
3.插入的数据大小,应该在字段的规定范围内。
DML-修改数据:
Update 表名 set 字段1=值1,字段2=值2,…[where 条件];
注意:
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
DML-删除数据:
Delete from 表名 [where 条件];
注意:
1.delete语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
2.Delete语句不能删除某一个字段的值(可以使用update)。
DQL-基本查询
查询多个字段:
1.select 字段1,字段2,字段3,… from 表名;
2.Select * from 表名;
设置别名:
select 字段1[as 别名1],字段2[as 别名2]… from 表名;
去除重复记录:
select distinct 字段列表 from 表名;
DQL-聚合函数:
介绍:
将一列数据作为一个整体,进行纵向计算
常见的聚合函数:
count(统计数量)、max(最大值)、min(最小值)、avg(平均值)、sum(求和)。
语法:
select 聚合函数(字段列表) from 表名;
注意:
null值不参与所有聚合函数运算。
DQL-分组查询:
Select 字段列表 from 表名[where 条件]group by 分组字段名[having 分组后过滤条件];
Where与having 区别:
执行时机不同:
where是分组前进行过滤,不满足where条件,就不参与分组,而having是分组之后对结果进行过滤。
判断条件不同:
Where不能对聚合函数进行判断,而having可以。
注意:
执行顺序:where>聚合函数>having
分组之后,查询的字段一般为聚合函数和分组函数,查询其他字段无任何意义。
DQL-排序查询
Select 字段列表 from 表名 order by 字段1 排列方式1,字段2 排列方式 2;
排序方式:
Asc:升序(默认值)
Desc:降序
注意:
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
DQL-分页查询
Select 字段列表 from 表名 limit 起始索引,查询记录数;
注意:
1.起始索引从0开始,起始索引=(查询页码-1)*每页查询记录数。
2.查询的如果是第一页数据,起始索引可以省略,直接简写为limit10。
ps:
想要寻求练习表操作的数据可以先关注我,后续我会把练习的数据,和练习语句及效果截图发出来,这样就方便新手把每个知识点都练熟,一定要实操,不然都是空谈。