第四篇:SQL语法-DDL-数据定义语言

大年初一限定篇😀

(祝广大IT学习者、工作者0 error 0 warning!)


DDL英文全称是Data Definition Language(数据定义语言),用来定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象


一,DDL数据库操作

(一)库的查询操作

1.列出所有已定义数据库

复制代码
show databases;

2.查询当前所处数据库

复制代码
select database();

(二)库的创建

(注:<尖括号>内的内容是可选项)

复制代码
create database <if not exists> 数据库名 <default charset 字符集> <collate 排序规则>;

(三)库的删除

(注:<尖括号>内的内容是可选项)

复制代码
drop database <if exists> 数据库名;

(四)库的使用(切换)

复制代码
use 数据库名;

(五)测试

使用以上命令进行小练习~注意命令不要写错噢,每行命令末尾必须以分号结尾!


二,DDL表操作

(一)表的查询操作

1.列出当前数据库所有表

复制代码
show tables;

2.查询指定表的结构(不展示注释)

复制代码
desc 表名;

3.查询指定表的建表语句(会展示注释)

复制代码
show create table 表名;

(二)表的创建操作

下面是创建表的语法:

(注:<尖括号>内的内容,即绿色部分,是可选项

一个表可以写多行,除最后一行以外,其余行末尾要以**英文逗号,**结束

创建表语句的最后,这条sql语句的末尾要用**分号;**结束

数据类型用来定义对应的某行字段的数据类型,将在下篇博客详细介绍)

create table 表名(

字段1 数据类型 <comment '对该字段的注释'>,

字段2 数据类型 <comment '对该字段的注释'>,

字段3 数据类型 <comment '对该字段的注释'>,

......

字段4 数据类型 <comment '对该字段的注释'>

)<comment '对该表的注释'>;

使用案例展示:

(注,这里的int和varchar是数据类型,将在下篇博客详细介绍)

(三)表的修改操作

1.添加新字段

(注:<尖括号>内的内容是可选项)

复制代码
alter table 表名 add 字段名 类型(长度) <comment '注释'> <约束>;

2.修改指定字段的数据类型

复制代码
alter table 表名 modify 字段名 新类型(长度);

3.修改指定字段的名字和数据类型

(注:<尖括号>内的内容是可选项)

复制代码
alter table 表名 change 原字段名 新字段名 新类型(长度) <comment '注释'> <约束>;

4.删除指定字段

复制代码
alter table 表名 drop 字段名;

5.修改指定表的表名

(实测rename之后可以不加to,可能与mysql的版本相关,不重要)

复制代码
alter table 原表名 rename to 新表名;

6.表修改操作的命令总结

alter table 表名 add/modify/change/drop/rename to

(四)表的删除操作

(注,两个删除表的操作都会在删除表的同时把其中所存放的数据也删除)

1.删除指定表

(注:<尖括号>内的内容是可选项)

复制代码
drop table <if exists> 表名;

2.重置(清空)指定表的数据并重新创建表

(注,这个操作比较容易误解

删除表的同时会清空其中的数据,这里的数据指的是具体的表内容而非表的字段,如"姓名 年龄 性别"这些都叫字段,此操作删除表时会保留字段

而后续学习的DML语句 对数据进行增删改的语法所操作的数据,如"张三,20,男"这些都叫数据,此操作删除表时会清空数据

因此不要错误地理解成此操作之后整个表就完全一点内容都没有了!)

复制代码
truncate table 表名;

(五)测试

下面给出一个博主自拟的小练习,通过这个练习来对DDL表操作的相关命令加以熟练------

在完成每一步操作之后,请用查询表结构的命令查看表格是否符合预期操作!

1.创建一个名为test 的数据库,并在该库中创建一个名为users 的表,其中包括4个字段,分别是:id int <编号>name varchar(20) <姓名>age int <年龄>

<小括号>中的内容是注释,需要在建表语句中体现
2.添加一个新字段:gend varchar(2) <性别>

<小括号>中的内容是注释,需要在建表语句中体现
3.修改名为gend 的字段,修改后的新字段为gender varchar(1) <性别(该字段已修改)>

<小括号>中的内容是注释,需要在建表语句中体现
4.添加一个新字段:nickname varchar(20)
5.删除名为nickname的字段
6.修改名为users 的表名为usernames,并列出所有表以验证操作是否成功

完整操作命令(不包含查询操作,请自行在每步操作后使用相应的查询命令验证操作正确性):

(注:前两句是连接数据库的操作,第二句是root数据库的默认密码)

mysql -u root -p;

root;

create database test; //建库

use test; //切换库

create table users(
id int comment '编号',
name varchar(20) comment '姓名',
age int comment '年龄'
); //建表

alter table users add gend varchar(2) comment '性别'; //对表users添加字段

alter table users change gend gender varchar(1) comment '性别(该字段已修改)';

//对表users修改名为gend的字段

alter table users add nickname varchar(20); //对表users添加字段

alter table users drop nickname; //对表users删除字段

alter table users rename to usernames; //修改表users的表名

show tables; //列出当前数据库所有表,验证users表名是否更改

相关推荐
杨云龙UP几秒前
SQL Server 2016通过SSMS(SQL Server Management Studio)图形界面完成创建用户和授权_20251230
运维·服务器·数据库
源代码•宸1 分钟前
goframe框架签到系统项目开发(每日签到添加积分和积分记录、获取当月最大连续签到天数、发放连续签到奖励积分、实现签到日历详情接口)
数据库·经验分享·redis·中间件·golang·dao·goframe
YMatrix 官方技术社区35 分钟前
时序 + 分析:YMatrix “智慧工厂“数据平台双方案详解
数据库·物联网·时序数据库·智能制造·数智工厂·ymatrix
lbb 小魔仙1 小时前
【Java】Spring Data JPA 详解:ORM 映射、查询方法与复杂 SQL 处理
java·开发语言·sql·spring cloud
熊文豪1 小时前
电科金仓数据库KingbaseES V9R2C13元数据处理详解
数据库·金仓数据库·电科金仓·kes
小画家~1 小时前
第四十三:redis 查找所有KEY应用方法
数据库·redis·bootstrap
攻心的子乐1 小时前
redis 使用Pipelined 管道命令批量操作 减少网络操作次数
数据库·redis·缓存
QT 小鲜肉1 小时前
【Linux命令大全】001.文件管理之slocate命令(实操篇)
linux·运维·服务器·数据库·笔记
zfj3211 小时前
Linux 系统 I/O 监控命令大全
linux·服务器·数据库·io·监控
凯子坚持 c2 小时前
Qt常用控件指南(1)
开发语言·数据库·qt