天天看点

数据定义语言(DDL):创建表create、修改表alter、删除表drop一、create二、alter三、drop

一、create

1、创建表

建表语句的语法格式:

create table 表名(

字段名1 数据类型,

字段名2 数据类型,

字段名3 数据类型,

);

2、关于MySQL当中字段的数据类型?以下只说常见的

int		整数型(java中的int)
bigint	          长整型(java中的long)
float		浮点型(java中的float double)
char		定长字符串(String)
varchar	可变长字符串(StringBuffer/StringBuilder)
date		日期类型 (对应Java中的java.sql.Date类型)
BLOB		二进制大对象(存储图片、视频等流媒体信息) Binary Large OBject (对应java中的Object)
CLOB		字符大对象(存储较大文本,比如,可以存储4G的字符串。) Character Large OBject(对应java中的Object)
......
           

char和varchar怎么选择?

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

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

BLOB和CLOB类型的使用?

数据定义语言(DDL):创建表create、修改表alter、删除表drop一、create二、alter三、drop

表名在数据库当中一般建议以:t_或者tbl_开始。

举例:

创建学生表:

学生信息包括:

学号、姓名、性别、班级编号、生日

学号:bigint

姓名:varchar

性别:char

班级编号:varchar

生日:char

create table t_student(
	no bigint,
	name varchar(255),
	sex char(1),
	classno varchar(255),
	birth char(10)
);
           

3、表的复制

语法:

create table 表名 as select语句;

将查询结果当做表创建出来。

以上方式,会自动创建表,将符合查询条件的数据自动复制到创建的表中

二、alter

举例:

如:student_name无法满足需求,长度需要更改为100

如sex字段名称感觉不好,想用gender那么就需要更改列的名称

mysql> alter table t_student change sex gender char(1);
Query OK, 5 rows affected (0.29 sec)
Records: 5  Duplicates: 0  Warnings: 0
           

三、drop

删除表?

drop table 表名; // 这个通用。

drop table if exists 表名; // oracle不支持这种写法。

举例:

drop table if exists t_student; // 当这个表存在的话删除。

drop、truncate、delete三者的不同

数据定义语言(DDL):创建表create、修改表alter、删除表drop一、create二、alter三、drop