一般有两种创建表的方法:

1.使用具有交互式创建和管理表的工具;

2.使用MySQL语句。

 

使用Navicat工具创建表uu。

在数据库中创建表单 Java语句 在数据库里面创建表_主键

在数据库中创建表单 Java语句 在数据库里面创建表_主键_02

 

在数据库中创建表单 Java语句 在数据库里面创建表_MySQL_03

使用MySQL语句创建表。

利用CREATE TABLE创建表,必须给出下列消息:

1.表的名字,在关键字CREATE TABLE之后给出;

2.表列的名字和定义,用逗号分隔。

CREATE TABLE customers
(
	cust_id int NOT NULL auto_increment,
	cust_name CHAR(50) NOT NULL,
	cust_address CHAR(50) NULL,
	cust_email char(50) NULL,
	PRIMARY KEY (cust_id)
)ENGINE=INNODB

表名紧跟在CREATE TABLE关键字后面,实际的表定义(所有列)括在圆括号之中。各列之间用逗号分隔。

每列的定义以列名开始,后面跟列的数据类型。

表的主键在创建表时用PRIMARY KEY指定。

创建新表时,指定的表明必须不存在,否则将出错。

不要把NULL值与空串相混淆。NULL值是没有值,它不是空串。如果指定‘’(两个单引号,其中没有字符),这在NOT NULL列中是允许的。空串是一个有效的值,它不是无值。

主键值必须唯一。如果主键使用单列,则它的值必须唯一。如果使用多个列,则这些列的组合值必须唯一。

创建由多个列组成的主键,应该以逗号分隔的列表给出各个列名。PRIMARY KEY(xxxx,xxxx)

主键中只能使用不允许NULL值得列。

 

AUTO_INCREMENT告诉MySQL,本列每当增加一行时自动增量。每个表只允许一个自增列,而且它必须被索引。

如果一个列被指定AUTO_INCREMENT,我们也可以在INSERT语句中指定一个值,只要它是唯一的(至今尚未使用)。该值将被用来替代自动生成的值。后续的增量将开始使用该手工插入的值。

如何在使用AUTO_INCREMENT列时获得这个值?可以使用last_insert_id()函数获得这个值。

如:select last_insert_id()  此语句返回最后一个自增值。

 

指定默认值时可以使用DEFAULT关键字。

xxxx  int  NOT NULL  DEFAULT  XXX,

MySQL不允许使用函数作为默认值,只支持常量。

 

ENGINT指定引擎类型。

InnoDB是一个可靠的事务处理引擎;MEMORY在功能等同于MyISAM,由于数据存储在内存中,速度很快;MyISAM是一个性能极高的引擎,支持全文本搜索,但不支持事务处理。

外键不能跨引擎。即使用一个引擎的表不能引用具有使用不同引擎的表的外键。

 

更新表使用ALTER TABLE语句。

在ALTER TABLE之后给出要更改的表名;所做更改的列表。

添加一列:

ALTER TABLE customers
ADD cust_age int(5);

删除一列:

ALTER TABLE customers
DROP COLUMN cust_age

定义外键:

ALTER TABLE customers
ADD CONSTRAINT fk_cust_id
FOREIGN KEY(cust_id) REFERENCES user(pid)

在数据库中创建表单 Java语句 在数据库里面创建表_在数据库中创建表单 Java语句_04

 

删除表使用DROP TABLE语句。

重命名表使用RENAME TABLE语句。

RENAME TABLE customers TO cust;

也可以对多个表进行重命名。

RENAME TABLE xxx TO yyy,aaa TO bbb,ccc TO ddd;