没有合适的资源?快使用搜索试试~ 我知道了~
数据库期末复习(自用)-MySQL
需积分: 0 0 下载量 76 浏览量
2023-12-28
21:13:18
上传
评论 1
收藏 7.23MB PDF 举报
温馨提示
试读
89页
数据库期末复习(自用)-MySQL
资源推荐
资源详情
资源评论
类型 大小 有符号(SIGNED)范围
无符号(UNSIGNED)范
围
描述
tinyint
1
byte
(-128,127) (0,255)
小整
数值
smallint
2
bytes
(-32768,32767) (0,65535)
大整
数值
mendiumint
3
bytes
(-8388608,8388607) (0,16777215)
大整
数值
int或integer
4
bytes
(-2147483648,
2147483647)
(0,4294967295)
大整
数值
基础篇
1 通用语法及分类
1.1 通用语法:
1,SQL语句可以单行或多行书写,以分号结尾。
2,SQL语句可以使用空格/缩进来增强语句的可读性。
3,MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
4,注释:
单行注释:-- 注释内容 或 # 注释内容
多行数值:/* 注释内容 */
1.2 分类:
DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)
DML:数据操作语言,用来对数据库表中的数据进行增删改
DQL:数据查询语言,用来查询数据库中表的记录
DCL:数据控制语言,用来创建数据库用户、控制数据库的控制权限
数据类型:
1,数值类型
类型 大小 有符号(SIGNED)范围
无符号(UNSIGNED)范
围
描述
bigint
8
bytes
(-2
63
,2
63
- 1) (0,2
64
- 1)
极大
整数
值
float
4
bytes
(-3.402823466 E+38,
3.402823466351 E+38)
0 和 (1.175494351 E-38,
3.402823466 E+38)
单精
度浮
点数
值
double
8
bytes
(-1.7976931348623157 E +
308,
1.7976931348623157 E +
308)
0 和
(2.2250738585072014 E -
308,
1.7976931348623157 E +
308)
双精
度浮
点数
值
decimal
依赖于M(精度)和D(标
度)的值
依赖于M(精度)和D(标
度)的值
小数
值
(精
确定
点
数)
类型 大小 描述
char 0-255 bytes 定长字符串
varchar 0-65535 bytes 变长字符串
tinyblob 0-255 bytes 不超过255个字符的二进制数据
tinytext 0-255 bytes 短文本字符串
blob 0-65 535 bytes 二进制形式的长文本数据
text 0-65 535 bytes 长文本数据
mediumblob 0-16 777 215 bytes 二进制形式的中等长度文本数据
mediumtext 0-16 777 215 bytes 中等长度文本数据
longblob 0-4 294 967 295 bytes 二进制形式的极大文本数据
longtext 0-4 294 967 295 bytes 极大文本数据
例:123.45,精度为5,标度为2
2,字符串类型
CHAR都是表述字符串数据的,TEXT都是描述文本数据的。
char(10)和varchar(10),若都只存储1个字节的空间:
类型
大
小
范围 格式 描述
date 3 1000-01-01 至 9999-12-31 YYYY-MM-DD 日期值
time 3 -838:59:59 至 838:59:59 HH:MM:SS
时间值或持续时
间
year 1 1901 至 2155 YYYY 年份值
datetime 8
1000-01-01 00:00:00 至
9999-12-31 23:59:59
YYYY-MM-DD
HH:MM:SS
混合日期和时间
值
timestamp 4
1970-01-01 00:00:01 至
2038-01-19 03:14:07
YYYY-MM-DD
HH:MM:SS
混合日期和时间
值,时间戳
char(10)实际就开辟出10个字节。
varchar(10)实际只开辟1个字节。
3,日期时间类型
DDL(数据定义语言)
1,数据库操作
查询所有数据库:
show databases;
查询当前数据库:
select database();
创建数据库:
create database [ if not exists ] 数据库名 [ default charset 字符集] [collate 排序规则
];
删除数据库:
drop database [ if exists ] 数据库名;
使用数据库:
use 数据库名;
注意
UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集
2,表操作
查询当前数据库所有表:
show tables
查询表结构:
desc 表名;
查询指定表的建表语句:
show create table 表名;
创建表:
注意:
在删除表时,表中的全部数据也会被删除
DML(数据操作语言)
1,添加(INSERT)数据
给指定字段添加数据:
insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...);
给全部字段添加数据:
insert into 表名 values (值1, 值2, ...);
create table 表名(
字段1 字段1类型 [comment 字段1注释],
字段2 字段2类型 [comment 字段2注释],
字段3 字段3类型 [comment 字段3注释],
...
字段n 字段n类型 [comment 字段n注释] //最后一个字段后面没有逗号
)[ comment 表注释 ];
-- 添加字段:
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束] [after|before 某字
段];
-- 例:
alter table emp add nickname varchar(20) comment '昵称';
-- 用alter table创建联合索引
alter table 表名 add index(字段名1 [asc|desc], 字段名2 [asc|desc],……);
-- 修改字段的数据类型:
alter table 表名 modify 字段名 新数据类型(长度);
-- 修改字段名和字段类型:
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
-- 例:将emp表的nickname字段修改为username,类型为varchar(30)
alter table emp change nickname username varchar(30) comment '昵称';
-- 删除字段:
alter table 表名 drop 字段名;
-- 修改表名:
alter table 表名 renamd to 新表名
-- 删除表:
drop table [if exists] 表名;
-- 删除表,并重新创建该表:
turncate table 表名;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
批量添加数据:
insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...), (值1, 值2, ...), (值1,
值2, ...);
insert into 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
注意:
插入数据时,指定的字段顺序需要与值的顺序是一一对应的
字符串和日期类型数据应该包含在引号中
插入的数据大小应该在字段的规定范围内
2,修改(UPDATE)数据
update 表名 set 字段名1 = 值1, 字段名2 = 值2, ... [ where 条件 ];
注意:
修改语句的条件可以有,可以没有;如果没有条件,则会修改整张表的所有数据。
3,删除(DELETE)数据
delete from 表名 [ where 条件 ];
注意:
DELETE语句的条件可以有,可以没有;如果没有条件,则会删除整张表的所有数据。
DELETE语句不能删除某一个字段的值(可以使用UPDATE)。
4,案例
#给employee表中的指定字段添加数据
insert into employee(id, workno, name, gender, age, idcard, entrydate) values
(1,'1','Itcast','男',10,'123456789012345678','2000-01-01');
#给employee表中的全部字段添加数据
insert into employee value(2,'2','张无忌','男',18,'123456789012345678','2004-
01-01');
#employee表批量添加数据
insert into employee value(3,'3','韦一笑','男',38,'123456789012345678','2004-
01-01'),(4,'4','赵敏','女',18,'123456789012345678','2004-01-01');
#将id为1的数据,将name修改为itheima
update employee set name = 'itheima' where id = 1;
#将id为1的数据,将name未改为小昭,gender修改为女
update employee set name = '小昭', gender = '女' where id = 1;
#将所有的员工入职日期修改为2008-01-01(没有where条件会修改整张表的数据)
update employee set entrydate = '2008-01-01';
#删除gender为女的员工
delete from employee where gender = '女';
#删除所有员工
delete from employee;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
剩余88页未读,继续阅读
资源评论
kongbai_mumu
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功