MySQL 2.2 常见数据类型详解与DML操作

一.前番回顾

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等     -- 二进制大对象

注:此处仅列出实际开发中最常用的数据类型,更详细的请参见:

https://www.cnblogs.com/Caveolae/p/7058890.html

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基本操作。

你可能感兴趣的:(MySQL 2.2 常见数据类型详解与DML操作)