天天看點

資料定義語言(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