数据库表操作


 1 -------------------------------------
 2 --创建数据库表
 3 CREATE TABLE table_name (column_name column_type);
 4 
 5 CREATE TABLE IF NOT EXISTS `runoob_tbl`(
 6    `runoob_id` INT UNSIGNED AUTO_INCREMENT,
 7    `runoob_title` VARCHAR(100) NOT NULL,
 8    `runoob_author` VARCHAR(40) NOT NULL,
 9    `submission_date` DATE,
10    PRIMARY KEY ( `runoob_id` )
11 )ENGINE=InnoDB  -- 数据库存储引擎 
12 DEFAULT CHARSET=utf8;   --设置默认字符值
13 
14 CREATE table student5 ( id int(10) primary key comment'学生ID',
15 name char(30) comment'学生姓名', age int(10) comment'年龄', sex char(10) comment'性别')engine=INNODB DEFAULT     CHARSET=utf8 comment'学生表'
16 
17 --如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL --,就会报错。
18 AUTO_INCREMENT--定义列为自增的属性,一般用于主键,数值会自动加1。
19 PRIMARY KEY--关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
20 ENGINE --设置存储引擎,CHARSET 设置编码。
21 -------------------------------------
22 
23 约束
24 约束用于对表中字段进行限制,保证表中数据的正确性和唯一
25 约束类型
26  primary key 主键约束
27 说明:非空,唯一,用于唯一标识对应的记录。类似身份证。
28  foreign key 外键约束
29 说明:用于表与表建立关系模型,使表与表紧密的结合起来。
30  not null 非空约束
31 说明:字段值不能为Null
32  default 默认值约束
33 说明:默认给字段指定默认值
34  auto_increment 自增约束
35 说明:作用在整数类型,字段默认从1开始自增
36 
37 
38 -- 备注
39 comment
40 例如 comment='说明'
41 -- 指定存储引擎
42 engine
43  engine=innodb
44 -- 默认设置字符编码
45 default charset=utf8
 1 -- 修改表
 2     -- 修改表本身的选项
 3         ALTER TABLE 表名 表的选项
 4         EG:    ALTER TABLE 表名 ENGINE=MYISAM;   -- 修改表的存储引擎
 5     -- 对表进行重命名
 6         RENAME TABLE 原表名 TO 新表名
 7         RENAME TABLE 原表名 TO 库名.表名    (可将表移动到另一个数据库)
 8         -- RENAME可以交换两个表名
 9     -- 修改表的字段结构
10         ALTER TABLE 表名 操作名
11                     -- 操作名
12                         ADD[ COLUMN] 字段名        -- 增加字段
13                         AFTER 字段名            -- 表示增加在该字段名后面
14                         FIRST                -- 表示增加在第一个
15                         ADD PRIMARY KEY(字段名)    -- 创建主键
16                         ADD UNIQUE [索引名] (字段名)-- 创建唯一索引
17                         ADD INDEX [索引名] (字段名)    -- 创建普通索引
18                         DROP[ COLUMN] 字段名        -- 删除字段
19                         MODIFY[ COLUMN] 字段名 字段属性        -- 支持对字段属性进行修改,不能修改字段名(所有原有属性也需写上)
20                         CHANGE[ COLUMN] 原字段名 新字段名 字段属性        -- 支持对字段名修改
21                         DROP PRIMARY KEY    -- 删除主键(删除主键前需删除其AUTO_INCREMENT属性)
22                         DROP INDEX 索引名    -- 删除索引
23                             DROP FOREIGN KEY 外键    -- 删除外键
24 
25 -- 删除表
26     DROP TABLE[ IF EXISTS] 表名 ...
27 -- 清空表数据
28     TRUNCATE [TABLE] 表名
29 -- 复制表结构
30     CREATE TABLE 表名 LIKE 要复制的表名
31 -- 复制表结构和数据
32     CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名