【mysql】DLL语句之表的创建,删除,修改

文章目录

    • 关于mysql中的数据类型
    • 表的创建
      • 建表的语法格式:
      • 快速创建表
    • 表的删除
      • 语法格式
      • 快速删除表中的数据
    • 表的修改
      • 语法格式

关于mysql中的数据类型

varchar(255)

可变长度的字符串
比较智能,节省空间。
会根据实际的数据长度动态分配空间.
优点:节省空间
缺点:需要动态分配空间,速度慢。

char(255)

定长字符串
不管实际的数据长度是多少。
分配固定长度的空间去存储数据。
使用不恰当的时候,可能会导致空间的浪费.
优点:不需要动态分配空间,速度快。
缺点:使用不当可能会导致空间的浪费。
varchar和char我们应该怎么选择?
性别字段你选什么?因为性别是固定长度的字符串,所以选择char.
姓名字段你选什么?每一个人的名字长度不同,所以选择varchar .

int (最长11)

数字中的整数型。等同于java的int.

bigint

数字中的长整型。等同于java中的long.

float

单精度浮点型数据

double

双精度浮点型数据

date

短日期类型

datetime

长日期类型

clob

字符大对象
最多可以存储4G的字符串.
比如:存储一篇文章,存储一个说明.
超过255个字符的都要采用cLob字符大对象来存储.
Character Large OBject: CLOB

blob

二进制大对象

Binary Large Object

专门用来存储图片、声音、视频等流媒体数据.
往BLOB类型的字段.上插入数据的时候,例如插入一个图片、视频等,
你需要使用Io流才行.

表的创建

建表的语法格式:

建表属于DDL语句,DDL包括: create drop alter

create table 表名(字段名1数据类型,字段名2数据类型,字段名3数据类型) ;

create table表名(
字段名1数据类型,
字段名2数据类型,
字段名3数据类型
);

表名:建议以t_或者tbl_ 开始,可读性强。见名知意.
字段名:见名知意.
表名和字段名都属于标识符.

创建一个学生表?
学号、姓名、年龄、性别、邮箱地址

create table t_student (
	no int,
	name varchar (32) ,
	sex char(1) ,
	age int(3) ,
	email varchar (255)
);

快速创建表

mysql> create table emp2 as select *from emp;
原理:
将一个查询结果当做一张表新建!!!!!
这个可以完成表的快速复制!!!!
表创建出来,同时表中的数据也存在了!!!

表的删除

语法格式

drop table 表名; //当这张表不存在的时候会报错!

//如果这张表存在的话,删除
drop table if exists 表名; 

快速删除表中的数据

  • delete语句删除数据的原理

表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!!!
这种删除缺点是:删除效率比较低.
这种删除优点是:支持回滚,后悔了可以再恢复数据!!!

用法delete from 表名;
  • truncate语句删除数据的原理

这种删除效率比较高,表被一次截断,物理删除.
这种删除缺点:不支持回滚。
这种删除优点:快速。

用法: truncate table 表名;

表的修改

什么是对表结构的修改?
添加一个字段,删除一个字段,修改一个字段都是对表结构的修改
对表结构的修改需要使用: alter
属于DDL语句

语法格式

增加字段

alter table 表名 add 字段名 类型
alter table emo add name varchar(10) not Null;

删除字段

alert table 表名 drop 列名

修改字段名

alert table 表名 change 字段名,新字段名;

注意,这里和select语句修改字段名要加以区分。
select是给查询出来的结果另起别名,原表的字段名没有被修改
而alter将原表中的字段名修改了

你可能感兴趣的:(mysql,mysql,数据库,sql,开发语言)