7.4数据表的操作

一.创建表

语法格式

CREATE [TEMPORARY] TABLE <表名>
(<列名1> <数据类型> [ DEFAULT‘默认值’]
 [ATUO_INCREMENT] [列级完整性约束]
 <列名2><数据类型> 
.......
|[index_definition]
)[表设置];

[TEMPORARY] 创建临时表
[index_definition] 为字段指定索引

简化语法

CREATE TABLE<表名>
(<列名1><数据类型>
 <列名2><数据类型> 
 .......
)[表设置];

[例7-1]用命令在stuInfo数据库中建立一个学生表Stu,有学号、姓名、性别、出生日期和专业号。

USE stuInfo;
CREATE TABLE Stu
(Sno char(6) NOT NULL,
 Sname varchar(4),
 Ssex Enum('男','女'),
 Sbirth date,
 Zno varchar(4)
);

二.查看表

显示当前数据库中的表名称

SHOW TABLES;

显示指定表的结构

DESC [RIBE] 表名;
SHOW CREATE TABLE 表名;


三.修改表

ALTER TABLE <表名>语句用于在已有的表中添加、修改或删除列。

ALTER TABLE <表名>
[ADD <列定义> [first|after列名] 
 |[MODIFY <列定义> [first | after 列名]]
 |[DROP <列名>]
 |[CHANGE <旧列名> <新列名> <新数据类型>]
 |[RENAME <新表名>]
 |[ORDER BY <列名>]


[例7-9]在stu数据表的Sbrith后插入一个属性scollege,长度为20,允许为空。
添加列

ALTER TABLE stu
ADD scollege char(20);

不允许为空

ALTER TABLE stu
ADD scollege char(20) not null;

在sbirth列之后

ALTER TABLE stu
ADD scollege char(20) not null after sbirth;

[例7-6]将属性scollege改为长度为10,放在第一列

ALTER TABLE stu
MODIFY scollege char(10) first;

[例7-10]删除scollege列。

ALTER TABLE stu
drop scollege;

四、复制表

语法格式

CREATE [temporary] TABLE <表名>
[like 源表名] | [as (select 语句)];

[例7-15]复制stu表到stu1中。不复制数据只复制结构

CREATE TABLE stu1
LIKE stu;

[例7-16]复制stu表中的sno,sname到stu2中。复制数据

CREATE TABLE stu2
AS
SELECT sno,sname FROM stu;

五、删除表

语法格式

DROP TABLE [IF EXISTS]<表名>

六、表管理中的注意事项

1.空值NULL

表示未知、不可用或将在以后添加的数据,它与数字0或空字符不同。

2.列的标志(IDENTITY)属性

任何表都可创建一个标志列,由系统生成序号值。该序号值唯一标志表中的一行,可以作为键值。

3.关于列类型的隐含改变

MySQL中,系统会隐含改变在表中已指定的列类型。长度小于4的VARCHAR类型会被改变为CHAR类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏佳怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值