第十二单元 MySQL增删改查
12.1. DDL-数据库定义语言
12.1.1. 概念及作用
database defination language 数据库定义语言,用于定义数据库,用于定义表结构
12.1.2. 表中字段基本数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型
1. 一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节
2. varchar(n) 表示 n 个字符,无论汉字和英文,Mysql 都能存入 n 个字符,仅是实际字节长度有所区别
12.1.3. 数据库语句操作
1. 在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下:
CREATE DATABASE 数据库名;
2. 在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。语法:
3. 在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库
注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。
4. 查看数据库创建细节
5. 创建一个使用gbk字符集的数据库
12.1.4. 表结构语句操作
1. 选择数据库
2. 创建MySQL数据表需要以下信息:
表名、表字段名、定义每个表字段
12.1.5. 定义表的约束
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的
数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。为了标识数据库记录唯一性,不允许记录重复,且键值不
能为空,主键也是一个特殊索引。 您可以使用多列来定义主键,列间以逗号分隔。
UNIQUE KEY的用途:主要是用来防止数据插入的时候重复的
ENGINE:设置存储引擎
CHARSET: 设置编码
12.2 DML - 数据库操作语言
12.2.1. 概念及作用
DML:data manipulation language 数据库操作语言,用以操作数据库。
3.2.2. 插入数据
问题:插入中文会报错
解决:
12.2.3. 删除数据
注意: delete from student; 与 truncate table student; 都能删除该表中所有数据,区别:前者
删除后自增主键还在,后者主键会从1开始。
12.2.4. 修改数据
12.3 DQL-数据库查询语言
12.3.1.概念及作用
Data Query Language 数据库查询语言
12.3.2.数据查询
12.3.3. 排序查询
MySQL中 升序为asc,降序为desc
例如:
升序:select * from 表名 order by 表中的字段 asc(MySQL中默认是升序排列,可不写) ;
降序:select * from 表名 order by 表中的字段 desc ;
若要进行同时一个升序一个降序 例如:
order by 升序字段 asc,降序字段 desc ;
12.3.4.分页查询
limit是mysql的分页查询语法:
select * from table limit m,n
其中m是指记录从m+1开始,,N代表取n条记录。
12.3.5.分组查询
分组查询得到结果是第一次查到的某个组别。
(1) having 条件表达式:用来分组查询后指定一些条件来输出查询结果
(2) having作用和where一样,但having只能用于group by
12.3.6. 报表查询
count 个数
sum总数
avg平均数
max最大值
min最小值