数据库语言学习之DDL

    数据定义语言(主要操作表的数据结构,而非数据)

                Create创建         drop删除           alter修改

                对表结构进行操作。

  1. 新建表:

Create table (if not exists)表名(

字段名1  数据类型,

字段名2  数据类型,

字段名3  数据类型

);

注意:表名一般以t_或者tbl_开始,可读性更强

表名和字段名都属于标识符。

快速创建表:

mysql> create table emp2 as select * from emp;

原理:

将一个查询结果当做一张表新建!! ! ! !

这个可以完成表的快速复制!! !!

表创建出来,同时表中的数据也存在了! ! !

使用时要保证字段数量相同!

  1. 数据类型

常见数据类型:

Varchar    可变长度字符串(StringBuffer/StringBuilder)

根据实际数据长度动态分配空间,最长255位

优点:节省空间

缺点:动态分配空间,速度慢

int              整数型(java中的int),最长11位

bigint         长整型(java中的long)

float           浮点型(java中的float double)

char           定长字符串(String)

定长字符串,最长255

不管实际的数据长度是多少

分配固定长度的空间去存储数据

使用不恰当的时候,可能会导致空间的浪费

优点:不需要动态分配空间,速度快

缺点:使用不当可能会导致空间的浪费。

date           日期类型 (对应Java中的java.sql.Date类型)

Datetime 长日期类型

BLOB          二进制大对象(存储图片、视频等流媒体信息)

Binary Large OBject (对应java中的Object)

往BLOB类型的字段上插入数据的时候,例如插入一个图片、视频等,

你需要使用IO才行。

CLOB          字符大对象(存储较大文本,比如,可以存储4G的字符串。)

超过255个字符

Character Large OBject(对应java中的Object)

           ......

char和varchar怎么选择?

           在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char。

           当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar。

Create table t_movie

(

No bigint(50) comment ‘编号’,  //属于建议长度

Name varchar(255) comment ‘电影名’,

History clob comment ‘故事情节’,

Playdate date()comment ‘上映时间’,

Time double comment ‘时长’,

Image blob comment ‘海报’,

Type char(50)  comment ‘电影类型’,

)Comment ‘电影’;

  1. 删除表

Drop table (if exist) 表名;

改:对表属性、表字段进行修改,关键字alter

  1. 修改表结构
表结构的修改,又可分为增删改

(1) add 增加(增加一个字段)

    ALTER TABLE 表名ADD 字段 数据类型;

alter table t_user add phone char(11);

(2) drop 删除(删除一个字段)

    alter table 表名 drop 字段;

(3) change 修改列的信息结构

   ALTER TABLE 表名 CHANGE字段名 字段类型 ....;

mysql> alter table t_user modify name char(11);

mysql> alter table t_user change name ename varchar(20);

(4) modify 修改列的信息结构

  经研究modify用法与change类似。

(5) rename (修改表名)

  alter table 原表名 rename 现表名;

  其等价于

  rename table 原表名to 现表名;

mysql> alter table t_user rename user;

mysql> rename table t_user to user;

  1. 查:查看表结构

(1) 查看表的字段信息

 show COLUMNS FROM 表名;

 其等价于

 describe 表名; (简写为 desc 表名;)

mysql> show columns from user;

mysql> desc user;

(2) 查看表的创建过程

 show create table 表名; (该语句返回该表创建时使用的sql语句)

mysql> show create table user;

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值