您的位置:首页 > 数据库 > MySQL

mysql中的数据表操作

2016-02-22 17:27 543 查看

1 数据表的创建

详细情况可以参考创建表CREATE TABLE语法

关于constraint的使用可以参见mysql constraint

语法规范:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] <tbl_name>
(
col_name type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string'],
...
) [table_options] [select_statement];
实际上使用的时候:
TEMPORARY一般不需要使用,这个关键字用于创建临时表
if not exists建议使用
括号中为实际字段的定义:
type为数据类型
NOT NULL | NULL:指定该列是否可以为空,如不指定则默认值为NULL
DEFAULT:用于指定默认值,如果不指定则mysql自动分配。自动分配的默认值
1. 默认为NULL
3. 例外的情形:auto_increment-->下一个值; 表中第一个timestamp类型的列,为当前日期时间的timestamp;
AUTO_INCREMENT: 从1开始, 必须被索引,一个表中只能有一个自增列
UNIQUE
KEY: index的同义词
PRIMARY KEY: 隐式指定 NOT NULL, UNIQUE, 唯一。
table options通常用于指定engine和[DEFAULT] CHARACTER SET以及COLLATE

例:
a. 创建普通表
create table if not exists mytable
(
id    INT(11),
name    VARCHAR(30)
)ENGINE=MyISAM character set=utf-8;
b. 设定主键
i) 直接在列类型后面添加
create table if not exists mytable
(
id    INT(11)    PRIMARY KEY,
name    VARCHAR(30)
);
ii) 单独指定,该方法也可以用于创建多列联合主键
[CONSTRAINT <主键名>] PRIMARY KEY(列名1 [ ,列名2,…])

create table if not exists mytable
(
id    INT(11),
name    VARCHAR(30),
PRIMARY KEY(id)
);
c. 外键
[CONSTRAINT <外键名>] FOREIGN KEY(列名1 [ ,列名2,…]) REFERENCES <主表名>(主键列1 [ ,主键列2,…])

2 数据表的结构

a desc|describe直接查看表中的字段信息
desc mytable;
b show create查看表的创建信息
show create table mytable;

3 修改表名

语法规范:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
例:
alter table mytable rename to new_name;

4 修改字段名

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
例:
alter table mytable change id myid int(11);

5 修改字段信息

ALTER TABLE <表名> MODIFY <字段1> <数据类型> [FIRST|AFTER <字段2>];
a 修改字段的数据类型
alter table mytable modify id int(10);

b 修改字段的相对位置
alter table mytable modify id int(10) after name;

6 添加字段

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名];
这个方法也可以用来添加表的完整性约束。

7 删除字段

ALTER TABLE <表名> DROP <字段名>;
这个方法也可以用来删除PK, FK, Unique等约束
ALTER TABLE <表名> DROP PRIMARY KEY|FOREIGN KEY|INDEX <字段名>;

8 修改存储引擎

ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

9 删除表

独立表可以直接删除:
DROP TABLE [IF EXISTS]表1, 表2, . . . 表n;
对于有外键关联的表,需要删除表中或者主表中的外键字段,然后删除该表。

10 显示表

show tables;

11 表的完整性约束

a alter table add 添加
alter table [table_name] add constraint [constraint_name] [unique| primary key|foreign key] ([column_names])
b alter table drop删除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: