第四篇: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表名是否更改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/469609.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP毕业设计图片分享网站76t17

图片分享网站主要是为了提高工作人员的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系统优化的原则&#xff0c;…

oppo手机QQ上传文件所在位置

一、打开手机“文件管理”APP 点击“点击查看”&#xff0c;按钮&#xff0c;会进入到新的根目录。 寻找下面的目录进入

《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)

文章目录 5.1 跨链交易分析5.1.1 基础知识5.1.2 重点案例&#xff1a;分析以太坊到 BSC 的跨链交易理论步骤和工具准备Python 代码示例构思步骤1: 设置环境和获取合约信息步骤2: 分析以太坊上的锁定交易步骤3: 跟踪BSC上的铸币交易 结论 5.1.3 拓展案例 1&#xff1a;使用 Pyth…

返回输入字中BIT=1的位个数(博途SCL代码)

返回输入字中BIT1的位个数有很多实际意义&#xff0c;比如我们可以统计同一时间外部的呼叫请求总数、电梯同一时间有多少个请求呼叫等。这里编程我们用到了博途的覆盖指令AT,有关AT指令的其他用法可以参看下面文章链接&#xff1a; https://rxxw-control.blog.csdn.net/articl…

VS Code之Java代码重构和源代码操作

文章目录 支持的代码操作列表调用重构分配变量字段和局部变量的差别Assign statement to new local variable在有参构造函数中将参数指定成一个新的字段 将匿名类转换为嵌套类什么是匿名类&#xff1f;匿名类转换为嵌套类的完整演示 转换为Lambda表达式Lambda 表达式是什么?转…

每日一题(最大连续1的个数,完全数计算)

485. 最大连续 1 的个数 - 力扣&#xff08;LeetCode&#xff09; #include <stdio.h> int findMaxConsecutiveOnes(int* nums, int numsSize) { if (numsSize 0) return 0; // 如果数组为空&#xff0c;返回0 int maxCount 0; // 最大连续1的个数 int currentCo…

C#利用接口实现选择不同的语种

目录 一、涉及到的知识点 1.接口定义 2.接口具有的特征 3.接口通过类继承来实现 4.有效使用接口进行组件编程 5.Encoding.GetBytes(String)方法 &#xff08;1&#xff09;检查给定字符串中是否包含中文字符 &#xff08;2&#xff09;编码和还原前后 6.Encoding.GetS…

地缘政治紧张局势加剧网络战策略的兴起

在某种程度上&#xff0c;网络安全疲劳和自满情绪留下了漏洞&#xff0c;威胁行为者利用旧的漏洞&#xff0c;包括日志记录和修补方面的漏洞&#xff0c;在网络中取得了坚定的滩头阵地。即使是最老练的威胁行为者&#xff0c;也经常选择扫描未修补的漏洞和其他基本配置弱点来渗…

七、Mybatis缓存

缓存就是内存中的数据&#xff0c;常常来自对数据库查询结果的保存&#xff0c;使用缓存、可以避免频繁的与数据库进行交互&#xff0c;进而提高响应速度一级缓存是sqlSession级别的缓存&#xff0c;在操作数据库时需要构造sqlsession对象&#xff0c;在对象中有一个数据结构&a…

open ai api 国内配置代理指南(网上最全)

1.配置须知 open ai 作为这一波AI浪潮的推动者&#xff0c;opne ai的gpt 系列产品在使用和体验上绝对是最强大的&#xff0c;现在对于开发者来说要在代码中访问open ai api是不可用的。所以本文就主要解决这个问题。我们要了解open ai 的网站gpt的访问和api的访问收费是分开来…

【51单片机】直流电机驱动(PWM)(江科大)

1.直流电机介绍 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转子)和换向器组成 除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等 2.电机驱动…

对stringstream行为的补充

文章目录 前言gcc源码分析总结 前言 在之前的文章Csnprintf和stringstream中说到&#xff0c;在stringstream中不知道是维护了一个流指针还是计数器&#xff0c;导致我们在使用了str()后再使用"<<"向其尾部增加字符会导致意想不到的效果&#xff0c;现在我又翻…