[My SQL] 创建表和操纵表

来源:互联网 发布:淘宝 prd mrd 模板 编辑:程序博客网 时间:2024/06/05 13:37

一般创建表有两种方法:

1.使用MySQL Query Browser等交互式工具;

2.使用MySQL命令行语句;


在创建表时,至少要包括表的名字列的细节

以下是创建一个test_table的栗子:



1.表名紧跟在CREATE TABLE关键字之后,在创建新表时,指定的表名在现在的database中应该是不存在的,否则将出错,如果需要覆盖一张表,应该先把原表删掉;

2.列的定义包含在圆括号中,用逗号分隔。首先定义列名,紧跟着列的数据类型;

3.在列的定义中,数据类型中可以定义NULL和NOT NULL,定义NULL允许在插入行时不给出该列的值,定义NOT NULL后在插入行时不允许该列为空。NULL为默认值,如果不指定NOT NULL,那么默认指定为NOT NULL;

4.AUTO_INCREMENT的设置使得本列每增加一行的时候自动增量。每个表只允许一个AUTO_INCREMENT列,而且它必须被索引。可以使用SELECT last_insert_i()获取最后一个AUTO_INCREMENT的值;

5.DEFAULT的定义允许在插入行且没有给出值的时候给定该列一个默认值;

6.表的主键可以在创建表的时候,由PRIMARY KEY定义,如果创建多个列组成的主键,应该以逗号分隔。例如PRIMARY KEY(column_A,column_B)。主键只能使用不允许NULL值的列,且如果主键使用单个列,那么这一列值必须唯一,如果使用多个列,那么这几列的组合值必须唯一;

7.在定义完列之后,圆括号紧跟着定义引擎类型。MySQL有多种引擎在内部处理用户的请求,以下是几个常用的引擎:

        InnoDB是一个可靠的事务处理引擎,它不支持全文本搜索;

        MEMORY在功能上等同于MyISAM,但由于数据存储在内存中,速度很快;

        MyISAM是一个性能极高的引擎,它支持全文本搜索,但不支持事务处理;


对表的操纵


1.可以使用ALTER TABLE来更新表的定义。

增加列和删除列


定义表的外键



2.使用DROP TABLE来删除表


3.使用RENAME TABLE来重命名表



原创粉丝点击