数据库
首页 > 数据库> > 数据库定义语言-表的操作

数据库定义语言-表的操作

作者:互联网

前言

针对数据表的操作语句叫做数据定义语言(DDL)

数据表有哪些操作

创建数据表

语法格式
CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];
知识点
实际例子
CREATE TABLE yytest(
id int(10) NOT NULL UNIQUE PRIMARY KEY,
uname VARCHAR(20) NOT NULL,
sex VARCHAR(4),
birth YEAR,
department VARCHAR(20),
address VARCHAR (50),
yypolo VARCHAR (20)
);

#指定数据库,创建数据表
CREATE TABLE test.yytest(
id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
stu_id INT (10) NOT NULL,
c_name VARCHAR (20),
istester VARCHAR(50),
grade INT(10)
);

查看表结构

desc yytest.yytest;
知识点

查看数据表的创建语句

show create table yytest;
知识点

不仅可以查看创建表时的详细语句,而且可以查看存储引擎和字符编码

#仅复制表结构
CREATE TABLE person_1 LIKE person;

#复制表结构和数据
CREATE TABLE person_2 AS SELECT * FROM person;

#仅复制表的指定字段结构
CREATE TABLE yytest_4 AS SELECT id,c_name,grade FROM yytest WHERE 1<>1;

#复制表的指定字段结构和数据
CREATE TABLE yytest_5 AS SELECT id,c_name,grade FROM yytest;

#查看表创建语句:没有包含主键和自增
SHOW CREATE TABLE yytest_5;
知识点

修改数据表

语法格式
ALTER TABLE <表名> [修改操作];
知识点

常用的修改表操作

修改表名

语法格式
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
注意

实际例子

ALTER TABLE yytest RENAME TO yytest2;
ALTER TABLE yytest2 RENAME yytest22;

修改字段列顺序

语法格式
ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST AFTER 已存在的字段名];

实际例子

#将birth字段放在第一列
ALTER TABLE yytest22 MODIFY birth year(4) FIRST;
#将birth字段放在sex之后
ALTER TABLE yytest22 MODIFY birth year(4) AFTER sex;

修改字段数据类型

语法格式
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

实际例子

ALTER TABLE yytest22 MODIFY sex int(3);

修改字段名字

语法格式
ALTER TABLE <表名> CHANGE <旧字段> <新字段> <数据类型>;

实际例子

ALTER TABLE yytest22 CHANGE sex gender VARCHAR(20);
知识点

change 不仅可以改字段名,也可以改字段数据类型

添加字段

语法格式
ALTER TABLE yytest22 add <字段名> <数据类型> [约束条件] [FIRST | AFTER 已经存在的字段名];

实际例子

#添加字段,默认加到最后一列
ALTER TABLE yytest22 ADD phone VARCHAR(20);

#添加字段到首位
ALTER TABLE yytest22 ADD phone VARCHAR(20) NOT NULL DEFAULT 2 FIRST;

#添加字段到某个字段后面
ALTER TABLE yytest22 ADD phone VARCHAR(20) AFTER gender;

删除字段

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

实际例子

ALTER TABLE yytest22 DROP phone; 

删除数据表

语法格式
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]

实际栗子

DROP TABLE IF EXISTS yytest21,yytest22;

标签:VARCHAR,数据库,定义语言,yytest22,数据表,TABLE,操作,yytest,ALTER
来源: https://blog.csdn.net/weixin_50077855/article/details/120464246