首页 > 数据库技术 > 详细

MySQL 基础 (二)- 表操作

时间:2019-04-03 10:52:36      阅读:155      评论:0      收藏:0      [点我收藏+]

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 列名 数据类型。

  

    新建行

 

  

MySQL 基础 (二)- 表操作

原文:https://www.cnblogs.com/MsHibiscus/p/10646553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!