一.前番回顾
1.MySQL数据类型
1) 整型:
类型 | 存储 | 最小值 | 最大值 |
---|---|---|---|
(Bytes) | Signed/(Unsigned第二行) | Signed/Unsigned(Unsigned第二行) | |
tynyint | 1 | -128 | 127 |
0 | 255 | ||
smallint | 2 | -32768 | 32767 |
0 | 65535 | ||
mediumint | 3 | -8388608 | 8388607 |
0 | 16777215 | ||
int | 4 | -2147483648 | 2147483647 |
0 | 4294967295 | ||
bigint | 8 | -9223372036854775808 | 9223372036854775807 |
0 | 18446744073709551615 |
2)定点数与浮点型:
定点数:DECIMAL(M,D) // M表示十进制数字总个数(包括小数部分),D为保留的小数位数,D的取值范围为0~30,而且必须<=M
float(m,d) 与double(m,d) 表示显示 m位整数,d位小数
M取值范围为0~255。FLOAT只保证6位有效数字的准确性,所以FLOAT(M,D)中,M<=6时,数字通常是准确的。如果M和D都有明确定义,其超出范围后的处理同decimal。
D取值范围为0~30,同时必须<=M。double只保证16位有效数字的准确性,所以DOUBLE(M,D)中,M<=16时,数字通常是准确的。如果M和D都有明确定义,其超出范围后的处理同decimal。
3) 字符串类型:
char -- 实际存储的长度即定义时的长度,与实际给定值的长度无关(不够的部分,会填充其他字符)
varchar -- 实际存储的长度即实际给定值的长度
4)日期时间类型
date -- 日期类型
time -- 时间类型
datetime -- 日期时间类型
timestamp -- 时间戳类型
5)长文本和媒体类型
text -- 十进制文件
longtext -- 十进制长文本文件
blob等 -- 二进制大对象
注:此处仅列出实际开发中最常用的数据类型,更详细的请参见:
2.DDL操作
1)删除表
drop table if exists mktest.mkmotest;
2) 修改表名称
rename table mktest to mktest.mkmgtest;
3) 添加字段
alter table mktest.mkmotest add 字段名 varchar(20);
alter table mktest.mkmotest add 字段名 varchar(20) first; -- 添加到字段列头
alter table mktest.mkmotest add 字段名 varchar(20) after sex; -- 添加到字段sex后面
4) 修改字段
-- 修改字段名称
alter table mktest.mkmotest change sex gentle;
--修改字段类型
alter table mktest.mkmotest change sex sex varchar(20);
alter table mktest.mkmotest modify sex varchar(20);
-- 修改字段位置(可以将change替换成modify)
alter table mktest.mkmotest change sex first;
alter table mktest.mkmotest change sex after name;
5) 删除字段
alter table mktest.mkmotest drop sex;
二.MySQL数据库操作之DML操作
1.添加记录
-- 插入语句
insert into 表名[(字段列表)] values(字段值列表);
insert into stu(sid,name) values(1,'de');
create table stu2 select * from xxx; -- 建表的同时插入数据
insert into stu2 select * from stu where sid >12; -- 通过查询结果集实现插入
insert into stu(sid,name) values(1,'de'),(2,'fg'),(3,'rt'); -- 多值插入
2.删除记录
--删除语句
delete from 表名 where xxx=xxx;
3.修改记录
-- 更新语句
update 表名 set xxx=xxx where xxx;
4.清空表
-- 清空表:
delete from 表名
truncate table 表名; -- DDL命令
说明: delete 与 drop 和 truncate 区别
drop table 表名; -- 直接删除表结构
delete from 表名; -- 是逐行删除,不会删除表结构,但是也不会重置自增
truncate table 表名; -- 清空表,修改表结构,会重置自增
下节提示:
下节将为大家呈现的是DQL基本操作。