赞
踩
在创建数据库之后,接下来就要在数据库中创建数据表了。所谓创建数据表,指的是在已经创建数据库中建立新表。
创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。
基本语法
可以使用 CREATE TABLE 语句创建表。其语法格式为:
- CREATE TABLE table_name(
- field1 datatype,
- field2 datatype,
- field3 datatype
- )character set 字符集 collate 校验规则 engine 存储引擎;
说明:
数据表属于数据库,在创建数据表之前,应使用语句“USE<数据库>”指定操作在哪个数据库中进行,如果没有选择数据库,就会抛出 No database selected 的错误。
输入:创建表的数据库为test1;创建users数据表,输入的SQL语句和运行结果如下所示:
- user test1;
-
- create table users (
- id int,
- name varchar(20) comment '用户名',
- password char(32) comment '密码是32位的md5值',
- birthday date comment '生日'
- ) character set utf8 engine MyISAM;
输出:
执行完之后,便创建一个名称为users的数据表,使用SHOW TABLES;便可以查看数据表是否创建成功:
说明:
1.users.frm:表结构
2.users.MYD:表数据
3.users.MYI:表索引
创建完数据表之后,经常需要查看表结构(表信息)。可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令来查看数据表的结构。
DESCRIBE/DESC 语句会以表格的形式来展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,语法格式如下:
DESCRIBE <表名>;
或:
DESC <表名>;
DESC 查看表 users 的表结构,SQL 语句和运行结果如下:
修改数据表的前提是数据库中已经存在该表。修改表指的是修改数据库中已经存在的数据表的结构。修改数据表的操作也是数据库管理中必不可少的,就像画素描一样,画多了可以用橡皮擦掉,画少了可以用笔加上。
不了解如何修改数据表,就相当于是我们只要画错了就要扔掉重画,这样就增加了不必要的成本。
在 MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构,例如增加或删减列、更改原有列类型、重新命名列或表等。
其语法格式如下:
- ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
-
- ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);
-
- ALTER TABLE tablename DROP (column);
语法规则如下:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
其中,TO 为可选参数,使用与否均不影响结果。
将数据表users改名为students_users,语句和运行结果如下所示:
将字符集修改为gb2312,校对规则修改为gb2312_chinese_ci.语句和运行结果如下:
语法格式如下:
mysql> insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');
mysql> alter table users add assets varchar(100) comment '图片路径' after birthday;
mysql> alter table users modify name varchar(60);
- mysql> alter table users drop password;
- mysql> desc users;
- +----------+--------------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +----------+--------------+------+-----+---------+-------+
- | id | int(11) | YES | | NULL | |
- | name | varchar(60) | YES | | NULL | |
- | birthday | date | YES | | NULL | |
- | assets | varchar(100) | YES | | NULL | |
- +----------+--------------+------+-----+---------+-------+
对于不再需要的数据表,我们可以将其从数据库中删除。在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失。
使用 DROP TABLE 语句可以删除一个或多个数据表,语法格式如下:
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
对语法格式的说明如下:
表名1, 表名2, 表名3 ...
表示要被删除的数据表的名称。DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可。从上面的创建可知,数据库test1中,创建的数据表有:
下面来删除数据表person,输入SQL语句和运行结果如下:
删除成功。
两点注意:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。