MySQL表数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值类型
TINYINT------------>小整数值
SMALLINT---------->大整数值
MEDIUMINT--------->大整数值
INT或INTEGER------>大整数值
BIGINT----------------->极大整数值
FLOAT------------------->浮点数值
DOUBLE---------------->双精度浮点数值
DECIMAL--------------->小数值
日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR
DATE-------------->YYYY-MM-DD---------->日期值
TIME--------------->HH:MM:SS--------------->时间值或持续时间
YEAR--------------->YYYY--------------------->年份值
DATETIME-------->YYYY-MM-DD HH:MM:SS---->混合时间和日期
TIMESTAMP------>YYYYMMDD HHMMSS------>时间戳
字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET
CHAR---------->0-255字节----------->定长字符串
VARCHAR----->0-65535 字节------->变长字符串
TINYBLOB---->0-255字节------------->不超过 255 个字符的二进制字符串
TINYTEXT---->0-255字节-------------->短文本字符串
BLOB----------->0-65 535字节----------->二进制形式的长文本数据
TEXT------------>0-65 535字节---------->长文本数据
MEDIUMBLOB-->0-16 777 215字节---->二进制形式的中等长度文本数据
2.用SQL语句创建表
create table 表名(列名 类型(大小) 约束)
mysql>CREATE TABLE t_student(
student_id INT PRIMARY KEY, student_name VARCHAR(10) NOT NULL, student_birthday DATETIME, student_phone INT UNIQUE, student_score FLOAT);
3 用SQL语句向表中添加数据
INSERT INTO 表名称 VALUES (值1, 值2,....)
指定列的话是在表名后添加列的名称,以下是不指定列的添加
方式一:单条插入,
INSERT INTO t_student VALUES (‘lilly‘, ‘20‘, ‘10‘, ‘90‘)
方式一:多条插入,
INSERT INTO t_student VALUES (‘lilly‘, ‘20‘, ‘10‘, ‘90‘),(‘bobo‘, ‘20‘, ‘10‘, ‘90‘),(‘any‘, ‘20‘, ‘10‘, ‘90‘)
4. 用SQL语句删除表
1、drop table 表名称
drop table t_student
2、truncate table 表名称
truncate table t_student
3、delete from 表名称 where 列名称 = 值
delete from t_student where test=‘test‘
区别:
drop(删除表):删除内容和定义,释放空间,drop语句将删除表的结构被依赖的约束,触发器,索引;依赖于该表的存储过程、函数将被保留,但状态会变为invalid
truncate(清空表中的数据):删除内容,释放空间但不删除定义(保留表的数据结构),不能删除行数据,要删就要把表清空。
delete(删除表中的数据):用于删除表中的行,delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行回滚操作
truncate table 删除表中的所有行,但表结构及其列约束,索引等保持不变,新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。如果要删除表定义及其数据,请使用 drop table 语句。
对于由foreign key约束引用的表,不能使用truncate table ,而应使用不带where子句的delete语句。由于truncate table 记录在日志中,所以它不能激活触发器。
执行速度,一般来说: drop> truncate > delete。
delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。
truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。
5. 用SQL语句修改表
修改列名
修改表中数据
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
删除行
删除列
DELETE FROM 表名称 WHERE 列名称 = 值
新建列
alter table 表名 add 列名 数据类型。
新建行
原文:https://www.cnblogs.com/MsHibiscus/p/10646553.html