mysql教程表的操作之创建表,附命令代码
代码如下:
先进入数据库
- mysql> create database data;
- Query OK, 1 row affected (0.00 sec)
- mysql> use data;
- Database changed
复制代码 创建表语法: - create table [if not exists] `表名`(
- `字段名` 数据类型 [null|not null] [default] [auto_increment] [primary key] [comment],
- `字段名 数据类型 …
- )[engine=存储引擎] [charset=字符编码]
- null|not null 是否为空
- default: 默认值
- auto_increment 自动增长,默认从1开始,每次递增1
- primary key 主键,主键的值不能重复,不能为空,每个表必须只能有一个主键
- comment: 备注
- engine 引擎决定了数据的存储和查找 myisam、innodb
- 脚下留心:表名和字段名如果用了关键字,要用反引号引起来。
复制代码例题:
- -- 设置客户端和服务器通讯的编码
- mysql> set names gbk;
- Query OK, 0 rows affected (0.00 sec)
- -- 创建简单的表
- mysql> create table stu1(
- -> id int auto_increment primary key,
- -> name varchar(20) not null
- -> )engine=innodb charset=gbk;
- Query OK, 0 rows affected (0.11 sec)
- -- 创建复杂的表
- mysql> create table stu2(
- -> id int auto_increment primary key comment '主键',
- -> name varchar(20) not null comment '姓名',
- -> `add` varchar(50) not null default '地址不详' comment '地址',
- -> score int comment '成绩,可以为空'
- -> )engine=myisam;
- Query OK, 0 rows affected (0.06 sec)
复制代码小结: 1、如果不指定引擎,默认是innodb 2、如果不指定字符编码,默认和数据库编码一致 3、varchar(20) 表示长度是20个字符 数据表的文件
一个数据库对应一个文件夹一个表对应一个或多个文件引擎是myisam,一个表对应三个文件 .frm :存储的是表结构 .myd :存储的是表数据 .myi :存储的表数据的索引引擎是innodb,一个表对应一个表结构文件,innodb的都有表的数据都保存在ibdata1文件中,如果数据量很大,会自动的创建ibdata2,ibdata3...
innodb和myisam的区别
引擎 | | myisam | 1、查询速度快2、容易产生碎片3、不能约束数据 | innodb | 1、以前没有myisam查询速度快,现在已经提速了2、不产生碎片3、可以约束数据 | 脚下留心:推荐使用innodb。
|