数据表的操作

创建按数据表

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name 
[ ( [colunm_definition],… | [index_definiton] ) ]
 [table_option] [select_statement];

1.语法格式中 [ ] 代表是可选的
2.TEMPORARY:使用该关键字创建某临时表。
3.IF NOT EXISTS:如果数据库中已经存在某个表,再来创建一个同名的表。这时就会出现错误,为了避免错误信息,可以在创建表的前面加上这个判断,只有该表目前不存在时才执行CREATE TABLE操作。
4.t
able_name
:要创建的表名
5.column_defintition:字段的定义,包括指定字段名、数据类型(type)、是否允许空值(NOT NULL)、指定默认值(DEFAULT)、为字段名添加注释(COMMENT)等。

创建student表,字段有:学号(sno,非空,int),姓名(sname,非空,默认为jack,varchar(20)),性别(ssex,非空,char(2)),出生日期(sbirth,date,非空);

#创建student表,字段有:学号(sno,非空,int),姓名(sname,非空,默认为jack,varchar(20)),
性别(ssex,非空,char(2)),出生日期(sbirth,date,非空);
CREATE TABLE student(
sno int NOT NULL COMMENT '学号',
sname VARCHAR(20) NOT NULL COMMENT '姓名'  DEFAULT 'jack' ,
ssex CHAR(2) NOT NULL COMMENT '性别',
sbirth date NOT NULL COMMENT '出身日期'
);

在这里插入图片描述
可以看见表已经创建成功。

查看数据表的结构

显示数据库中存储所有表的名称:SHOW TABLES table_name
显示表的结构:DESC table_name; SHOW CREATE TABLE table_name; DESCRIBE table_name

显示student表的名称

显示数据库中存储所有表的名称:SHOW TABLES 

在这里插入图片描述

显示表的结构:
DESC student
DESCRIBE student
SHOW CREATE TABLE student

在这里插入图片描述

修改数据表

修改数据表名

ALTER TABLE <旧表名> RENAME [TO] <新表名>

将stuent表名改为stu

将stuent表名改为stu
ALTER TABLE student RENAME TO stu

可以发现表的名称已经发生了变化。
在这里插入图片描述

修改数据字段类型

ALTER TABLE (表名) MODIFY <字段名> <数据类型>

将stu中的sname字段的数据类型为varchar(36)

将stu中的sname字段的数据类型为varchar(36)
ALTER TABLE stu MODIFY sname VARCHAR(36)

可以发现sname的字段类型已经发生变化。
在这里插入图片描述

修改字段名

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>

将stu表的sno字段名称改为snum,数据类型改为int

将stu表的sno字段名称改为snum,数据类型改为int
ALTER TABLE stu  CHANGE sno snum int

可以发现sno的字段名和字段类型已经发生变化。
在这里插入图片描述

添加数据表字段

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST |AFTER 已存在字段名]
FIRST为可选参数,作用是将添加的字段设置为表中的第一个字段
AFTER为可选参数,作用是将新添加的字段添加到指定的“已存在的字段”后面

在stu表中添加一个address字段,类型为varchar(15)在ssex字段的后面

在stu表中添加一个address字段,类型为varchar(15)在ssex字段的后面
ALTER TABLE stu add address VARCHAR(15) AFTER ssex

可以看到,stu表中已经添加了了address字段,在ssex字段的后面
在这里插入图片描述

删除字段

ALTER TABLE <表名> DROP<字段名>

删除stu表中的 address字段

删除stu表中的 address字段
ALTER TABLE stu DROP address

可以发现stu表中的address字段已经被删除
在这里插入图片描述

复制数据表

复制old_table_name到table_name中
CREATE TABLE table_name LIKE old_table_name
CREATE TABLE table_name AS SELECT 字段名1,字段名2,字段名n FROM old_table_name

复制表stu到student表中

复制表stu到student表中
CREATE TABLE student LIKE stu

可以发现student表和stu表是一样的
在这里插入图片描述
复制表stu到student表中

复制表stu中的snum和sname字段到student1表中
CREATE TABLE student1 AS SELECT snum sname from stu

可以看见表student1复制了stu中的sum和sname字段
在这里插入图片描述

删除数据表

DROP TABLE [IF EXISTS] 表1,表2.....
[IF EXISTS]用以在删除前判断删除的表是否存在,加上该语句后,如果删除的表不存在,sql语句可以执行
但是会报错

删除student表和student1表

删除student表和student1表
DROP TABLE student, student1

可以看到student表和student1表已经被删除
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值