2020/8/3
方式二:truncate 语句
案例:将魅力值>100的男神信息删除
TRUNCATE TABLE boys
delete与truncate的区别 面试题
1、delete可以加where条件 ,truncate不能
2、truncate删除效率较高
3、假如要删除的表中有自增长列,如果用delete删除后,再插入数据,
自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的
值从1开始
4、truncate删除没有返回值,delete有
5、truncate删除不能回滚,delete可以回滚

方式一:批量多行插入

方式二:子查询

DDL:数据定义语言
库和表的管理
一、库的管理
创建:create、修改:alter、删除:drop
二、表的管理
创建:create、修改:alter、删除:drop
1、库的创建
语法:create database (if not exists)库名;(先判断是否存在)
2、库的修改
更改库的字符集
ALTER DATABASE books CHARACTER SET 表名;
3、库的删除
DROP DATABASE IF EXISTS 表名;
1、表的创建
语法:
create table 表名(
列名 列的类型【长度 约束】,
列名 列的类型【长度 约束】,
。。。
列名 列的类型【长度 约束】
)
2、表的修改
alter table 表名 add | change | modify | drop column 列名 【列类型 约束】;
- 列名
ALTER TABLE book CHANGE COLUMN publishdate pubdate DATETIME;
- 类型或约束
ALTER TABLE book MODIFY COLUMN pudate TIMESTAMP;
- 增加列
ALTER TABLE author ADD COLUMN annual DOUBLE;
- 删除列
ALTER TABLE author DROP COLUMN annual;
- 修改表名
ALTER TABLE author RENAME TO book_author;
3、表的删除
DROP TABLE book_author;
4、表的复制
- 仅仅复制表的结构
CREATE TABLE copy LIKE author;
- 复制表的结构+数据
CREATE TABLE copy2
SELECT * FROM author;
- 只复制部分数据
CREATE TABLE copy3
SELECT id, au_name
FROM author
WHERE nation=‘中国’;
当仅仅复制某些字段,可以利用where 0,空列
常见的数据类型
数值型:整数
小数:
定点数
浮点数
字符型:
较短的文本:char 、varchar
较长的文本:text、blob(较长的二进制数据)
其他:
binary和varbinary用于保存较短的二进制
enum用于保存枚举
set用于保存集合
日期型:
一、整型
分类:tinyint smallint mediumint int/integer bigint
1. 2. 3. 4. 8.
特点:
1、如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字
2、如果插入的数值超出了整型的范围,会报out of range 异常,并且插入临界值
3、如果不设置长度,会有默认的长度
长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用!
二、小数
分类:
1、浮点数
float(M,D)
double(M,D)
2、定点数
dec(M,D)
decimal(M,D)
特点
- M:整数部位+小数部位
D:小数部位
如果超出范围,则插入临界值
- M和D都可以省略,如果是decimal,则M默认为10,D默认为0,
如果是float和double,则会根据插入的数值的精度来决定精度
- 定点型的精度较高,如果要求插入数值的精度较高如货币运算等则考虑使用
原则:所选择的类型越简单越好,能保存数值的类型越小越好
三、字符型
特点:
| 写法 | M的意思 | 特点 | 空间的耗费 | 效率 | |
| char | char(M) | 最大的字符长度 |
可固定长度的字符 (可以省略,默认为1) |
比较耗费 | 高 |
| varchar | varchar(M) | 最大的字符长度 |
可变长度的字符 (不可以省略) |
比较节省 | 低 |
四、日期型
分类
date:只保存日期
time:只保存时间
year:只保存年
datetime:保存日期+时间
timestamp:保存日期+时间
特点:
| 字节 | 范围 | 时区等的影响 | |
| datetime | 8 | 1000-9999 | 不受 |
| timestamp | 4 | 1970-2038 | 受 |
常见约束
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和精确度
分类
- NOT NULL :非空, 用于保证

浙公网安备 33010602011771号