MySQL基础知识学习(一)

目录

一、关系型数据库核心元素

二、SQL语言主要分类

三、注释

四、常用数据类型

五、常用的SQL语言(不分大小写)

六、常用的字段约束

七、条件查询

八、排序

九、聚合函数

十、数据分组

十一、数据分页显示


一、关系型数据库核心元素

  • 数据库(表的集合,一个数据库中能够有多个表)——database
  • 表(由行和列组成的二维表格),数据库中存储数据的基本单位——table
  • 行(记录),表中的一行,在数据库中叫做记录——record
  • 列(字段),表中的一列,在数据库中叫做字段——field

二、SQL语言主要分类

  • DQL:数据查询语言,用于对数据进行查询,如select;
  • DDL:数据定义语言,进行数据库、表的管理,如create、drop;
  • DML:数据操作语言,对数据进行增、删、改,如insert、delete、update;
  • TPL:事物处理语言,对事物进行处理,包括begin transaction,commit,rollback;

三、注释

(1)单行注释

--注释的内容

(2) 多行注释

/*注释的内容*/

四、常用数据类型

  • 整数:int
  • 小整数:tinyint
  • 小数:decimal
  • 字符串:varchar
  • 日期时间:datetime

五、常用的SQL语言(不分大小写)

1、创建表:create table

create table 表名(
    字段名    数据类型    约束,
    字段名    数据类型    约束
    ...
);

2、添加数据:insert

  • 类型一:所有字段设置值,值的顺序与表中字段的顺序对应
insert into 表名 values(...);
  • 类型二:部分字段设置值,值的顺序与给出的字段顺序对应
insert into 表名(字段1,字段2,...) values(值1,值2,...);
  • 一条insert语句添加多条记录,数据之间用英文逗号隔开
insert into 表名 values(...),(...)...;    --所有字段

insert into 表名(字段1,...) values(值1,...),(值1,...)...;    --部分字段

 3、简单查询:select

  •  查询所有字段
select * from 表名;
  •  查询指定字段
select 字段1,字段2,... from 表名;

select 字段1 as 别名,字段2 as 别名,... from 表名 as 别名;    --给字段和表取别名,as可以省略

注:distinct可以消除查询结果的重复,加在select后

4、修改数据:update

update 表名 set 字段1=值1,字段2=值2... where 条件;

5、删除表中记录:delete

delete from 表名 where 条件;

6、删除表中记录:truncate

truncate table 表名;    --直接删整个表

truncate与delete的区别:

  • 在速度上,truncate>delete;
  • 如果想删除部分数据用delete,注意带上where字句;
  • 如果想保留表而将所有数据删除,自增长字段恢复从1开始,用truncate;

7、删除表:drop table

drop table 表名;    

drop table if exists 表名;    --先判断表是否存在,再执行删除命令

六、常用的字段约束

1、主键(primary key)

注:值不能重复,auto_increment代表值自动增长

create table 表名(
    字段名    数据类型    primary key auto_increment,
    字段名    数据类型    约束
    ...
    constraint primary key(字段名)    --主键也可以在最后建,任选其一
);

注:插入时主键自增长字段的值可以用占位符代替,0或null

2、非空(not null)

注:此字段不允许填写空值

create table 表名(
    字段名    数据类型    not null,
    ...
);

3、唯一(unique)

注:此字段的值不允许重复

create table 表名(
    字段名    数据类型    unique,
    ...
);

4、默认值(default)

注:当不填写此值时会使用默认值,如果填写时以填写为准

create table 表名(
    字段名    数据类型    default 值,
    ...
);

七、条件查询

1、比较运算符

  • 等于:=
  • 大于:>
  • 大于等于:>=
  • 小于:<
  • 小于等于:<=
  • 不等于:!= 或 <>

2、逻辑运算符

  • and(与),and有两个条件,必须同时满足
  • or(或),or有两个条件,满足其一即可
  • not(非),not只有一个条件,结果与条件相反

3、模糊查询

  • like
  • % 表示任意多个任意字符,配合like使用
  • _ 表示一个任意字符,配合like使用

4、范围查询

  • in表示在一个非连续的范围内,not in表示不在非连续的范围内,in(值1,值2,...)
  • between...and...表示在一个连续的范围内,not between... and...表示不在一个连续的范围内

5、空判断

  • 判断空:is null
  • 判断非空:is not null

注意:null与''是不同的,null代表什么都没有,''代表长度为0的字符串


八、排序

  • asc(默认值)从小到大排序,即升序
  • desc从大到小排序,即降序
select * from 表名 where 条件
order by 字段1 asc|desc,字段2 asc|desc,...    --默认是升序,asc可以不写,字段在前优先级高

九、聚合函数

1、count 总记录数

count(*)表示计算总记录数,括号中写*与字段名,结果是相同的

2、max 最大值

max(字段)表示求此字段的最大值

3、min 最小值

min(字段)表示求此字段的最小值

4、sum 求和

sum(字段)表示求此字段的总和

5、avg 平均值

avg(字段)表示求此字段的平均值

注意:(1)聚合函数不能在where后面的条件中使用

           (2)聚合函数不能与普通字段同时出现在查询结果中

           (3)count函数不忽略空值null,其余的忽略空值null


十、数据分组

1、分组(group by)

  • 按照字段分组,表示此字段相同的数据会被放到一个组中
  • 分组的目的是配合聚合函数,聚合函数会对每一组的数据分别进行统计
select 字段1,字段2,聚合函数... 
from 表名 
where 约束条件
group by 字段1,字段2...

2、分组后的数据筛选(having)

select 字段1,字段2,聚合函数... 
from 表名 
where 约束条件
group by 字段1,字段2...
having 字段1,...聚合...

注意:使用having前必须先分组group by

对比where与having:

  • where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
  • having是对group by的结果进行筛选
  • having后面的条件中可以使用聚合函数,where后面的条件不可以使用聚合函数

十一、数据分页显示

1、获取部分行

  • limit 开始,获取行数
  • 从start开始,获取count条数据
  • start索引从0开始,如省略start默认从0开始
select * from 表名 limit start,count

2、分页

  • 当一张表记录特别多的时候,就需要用到分页显示
  • 已知:每页显示m条数据,求:查询第n页的数据
select * from 表名 limit (n-1)*m,m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值