DDL 数据定义语言
DDL 数据定义语言
目录
- 概述
- 一、库的管理
- 1、库的创建
- 2、库的修改【一般不修改,容易出现错误】
- 3、库的删除
- 二、表的管理【重要】
- 1、表的创建
- 2、表的修改
- 3、表的删除
- 4、表的复制 【可以跨库复制】
- 练习题
概述
数据定义语言
库和表的管理
一、库的管理
创建、修改、删除(删除的是整个表而不是数据)
二、表的管理
创建、修改、删除
创建:create
修改:alter
删除:drop
一、库的管理
1、库的创建
语法:
create database 【if not exists】 库名【 character set 字符集名称】;
案例:创建库Books
create database Books;
【补充】MySQL库中数据的存储路径
记录在电脑中的位置:D:\MySQLData\MySQL\MySQL Server 8.0\Data

2、库的修改【一般不修改,容易出现错误】
可以更改库的字符集
alter database books character set gbk;#utf8mb4
要修改库名的话需要进本地的data文件夹重命名来改,并重新启动MySQL80服务
3、库的删除
drop database books;
drop database if exists books;
二、表的管理【重要】
create database if not exists books;
use books;
1、表的创建
- 语法:
create table 表名(列名 列的类型【(类型对应的长度) 列的约束】,create table 表名(列名 列的类型【(类型对应的长度) 列的约束】,……,create table 表名(列名 列的类型【(类型对应的长度) 列的约束】); - 案例:创建表book
create table book(id int,bName varchar(20),price double,authorid int,publishdate datetime); create table if not exists book(id int,bName varchar(20),price double,authorid int,publishdate datetime); desc book; - 案例:创建authors表
create table authors(id int,au_name varchar(20),nation varchar(20)); desc authors;
2、表的修改
- 修改列名
alter table 表名 change 【column 】原列名 新列名 列的类型; - 修改列的类型或约束
alter table 表名 modify column 列名 要修改的列的类型; - 添加列(默认将新列添加到所有列的后面)
要添加到指定位置(不支持last)alter table 表名 add column 列名 列的类型;alter table 表名 add column 列名 列的类型 first;#将新列作为第一列 alter table 表名 add column 列名 列的类型 after 字段名;#将新列 放在某一列的后面 - 删除列
alter table 表名 drop column 列名; - 修改表名
alter table 原表名 rename to 新表名;
alter table 表名 add|drop|change|modify column 列名 【列的类型 约束】;
#案例:将book表中的publish列的名字修改为pubdate
alter table book change column publishdate pubdate datetime;
desc book;
#案例:将book表中的publish列的类型修改为timestamp
alter table book modify column pubdate timestamp;
desc book;
#案例:在authors表中添加年薪列annual,类型为double
alter table authors add column annual double;#必须加column
desc authors;
#案例:删除authors表中的annual列
alter table authors drop column annual;
desc authors;
#注:删除列的时候无法使用if exists关键字
#案例:
alter table authors rename to book_author;
desc book_author;
3、表的删除
语法:
drop table【 if not exists】 表名;
案例:删除作者的信息表
drop table book_author;
#添加容错性处理
drop table if exists book_author;
show tables;#查看当前数据库的所有表
通用的写法
drop database if exists 旧库名;
create database 新库名;drop table 旧表名;
create table 表名();
4、表的复制 【可以跨库复制】
create table authors(id int,au_name varchar(20),nation varchar(20));
insert into authors values(1,'村上春树','日本'),(2,'莫言','中国'),(3,'冯唐','中国'),(4,'金庸','中国');
select * from authors;
- 仅仅只能复制表的结构
create table copy1 like authors;desc copy1;select * from copy1; - 复制表的结构加数据
create table copy2 select * from authors; desc copy2; select * from copy2; - 只复制部分数据(可选部分字段)
create table copy3 select id,au_name from authors where nation='中国'; desc copy3; select * from copy3;
推广:仅仅复制某些字段(不加数据)
create table copy4 select id,au_name from authors where 1=2;
create table if not exists copy4 select id,au_name from authors where 0;
select * from copy4;
练习题
- 创建表 dept1
name Null? type id int(7) name varchar(25) create database if not exists test; use test; create table dept1(id int(7),name varchar(25)); desc dept1; - 将表 departments 中的数据插入新表 dept2 中
create table dept2 select * from myemployees.departments; select * from dept2; - 创建表 emp5
name Null? type id int(7) First_name Varchar (25) Last_name Varchar(25) Dept_id int(7) create table emp5(id int(7),First_name varchar(25),Last_name varchar(25),Dept_id int(7)); desc emp5; - 将列 Last_name 的长度增加到 50
alter table emp5 modify column Last_name varchar(50); desc emp5; - 根据表 employees 创建 employees2
create table employees2 like myemployees.employees; desc employees2; select * from employees2; - 删除表 emp5
drop table emp5; show tables; - 将表 employees2 重命名为 emp5
alter table employees2 rename to emp5; show tables; - 在表 dept1 和 emp5 中添加新列 test_column,并检查所作的操作
alter table dept1 add column test_column int; alter table emp5 add column test_column int; desc dept1; desc emp5; - 直接删除表 emp5 中的列 test_column
alter table emp5 drop column test_column; desc emp5;
相关文章:
DDL 数据定义语言
DDL 数据定义语言 目录概述一、库的管理1、库的创建2、库的修改【一般不修改,容易出现错误】3、库的删除二、表的管理【重要】1、表的创建2、表的修改3、表的删除4、表的复制 【可以跨库复制】练习题概述 数据定义语言 库和表的管理 一、库的管理 创建、修改、删除…...
设计模式概述
1. 概念 设计模式概念的提出: 设计模式最早于1977年在建筑设计行业中被 克里斯托夫亚历山大(Christopher Alexander) 在他的著作 《建筑模式语言:城镇、建筑、构造》 中提出。 软件工程界在1990年开始了设计模式话题的研…...
华为OD机试 - 箱子之形摆放(Python)| 真题+思路+考点+代码+岗位
箱子之形摆放 题目 有一批箱子(形式为字符串,设为str), 要求将这批箱子按从上到下以之字形的顺序摆放在宽度为 n 的空地,请输出箱子的摆放位置。 例如:箱子ABCDEFG,空地宽度为3,摆放结果如图: 则输出结果为: AFG BE CD 输入 输入一行字符串,通过空格分隔,前面部…...
第九章:创建用户和用户权限
Windows:创建用户:第一种方法创建用户:先点右上角的工具,然后点击AD用户和计算机双击skills.com打开目录,再双击Users,进入文件夹中在右框中右击空白处,新建用户填充好用户信息后点击下一步然后…...
如何制定人生目标
一、如何分解目标 人生终极目标并不一定要多详细精确,但一定要被分解,要分成长期目标、中期目标和一系列的短期目标,其中短期目标又可以分解为你能够马上操作的一个个的小目标。 二、目标制定的原则 目标制定遵循 SMART-W 原则: …...
用户认证概述
文章目录一、用户身份认证1.1 单一服务器模式1.2 SSO(Single Sign On)模式1.3 Token模式二、JWT令牌2.1 JWT 令牌说明2.2 JWT令牌的组成2.3 JWT 问题和趋势2.4 JWT 测试一、用户身份认证 1.1 单一服务器模式 一般过程如下: 用户向服务器发送…...
XQuery FLWOR + HTML
XML 实例文档 我们将在下面的例子中继续使用这个 "books.xml" 文档(与上一节中的文件相同)。 在您的浏览器中查看 "books.xml" 文件。 在一个 HTML 列表中提交结果 请看下面的 XQuery FLWOR 表达式: for $x in doc(&…...
MySQL用户管理
文章目录MySQL用户管理用户用户信息创建用户修改用户密码删除用户数据库的权限MySQL中的权限给用户授权回收权限MySQL用户管理 与Linux操作系统类似,MySQL中也有超级用户和普通用户之分。如果一个用户只需要访问MySQL中的某一个数据库,甚至数据库中的某…...
C++【模板初阶】
✨个人主页: Yohifo 🎉所属专栏: C修行之路 🎊每篇一句: 图片来源 No one saves us but ourselves, no one can and no one may. We ourselves must walk the path. 除了我们自己,没有人能拯救我们…...
华为OD机试 - 磁盘容量(Python)| 真题+思路+考点+代码+岗位
磁盘容量 题目 磁盘的容量单位常用的有M、G、T 他们之间的换算关系为1T =1024G,1G=1024M 现在给定n块磁盘的容量,请对他们按从小到大的顺序进行稳定排序 例如给定5块盘的容量 5 1T 20M 3G 10G6T 3M12G9M 排序后的结果为 20M 3G 3M12G9M 1T 10G6T 注意单位可以重复出现 上述…...
更专业、安全、可控!政企都选择WorkPlus私有化部署
现如今政企机构在信息化建设的过程中,内部的沟通协作都离不开即时通讯软件。但大多数企业使用的即时通讯软件都是Saas部署的,虽然使用Saas部署产品成本低,又方便快捷,但还是建议企业有条件最好使用私有化部署的即时通讯软件&#…...
[SDX12] X12 USB to LTE IPA概率不生效问题分析及优化策略
问题描述 在测试USB to LTE的流量过程中,发现IPA概率失效,正常可以跑到320Mbps,但是跑流1分钟左右会出现IPA失效及跑流掉坑的情况。 问题log dmesg log 3,1862,149793394,-;ipa ipa3_ioctl:3564 using obselete command: IPA_IOC_RM_ADD_DEPENDENCY 3,1863,149793549,-;ipa …...
mysql8.0(单表查询与多表拆线)
目录 单表查询 1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 3、求出所有职工的人数。 4、列出最高工资和最低工资。 5、列出职工的平均工资和总工资。 6、创建一个只有职工号、姓名和工作时间的新表&…...
用于汽车传感器的混合点云语义压缩:性能评估
Hybrid Point Cloud Semantic Compression for Automotive Sensors: A Performance Evaluation https://arxiv.org/pdf/2103.03819.pdf 在自动驾驶中,车辆与车辆之间的信息共享起着重要作用。在所有传感器中,激光雷达产生的3D点云的数据量通常较高。因…...
最流行十大在线客服系统排行榜-市场常见客服系统软件排行-2023最新
2023年榜单规则依据 在线客服系统十大品牌榜数据由CNPP品牌榜中榜大数据「研究院」和CN10排排榜技术「研究院」通过资料收集整理,并基于大数据统计及人为根据市场和参数条件变化的分析研究专业测评而得出,是大数据、云计算、数据统计真实客观呈现的结果&…...
算法笔记(六)—— 二叉树相关概念及经典算法题
二叉树的相关概念(判断方式) 1. 搜索二叉树:对每棵子树,左树比头小,右树比头大。 中序遍历,判断是否升序 2. 完全二叉树:最后一层满或从左到右遍满。 宽度遍历,如果有节点有右孩子…...
redux全网最详细教程
一.路由懒加载 关键点: lazy懒加载 Suspense组件(添加加载提示) utils文件夹 –LazyLoad.js //lazy懒加载 Suspense 组件(添加加载提示) import {lazy,Suspense} from react export default function LazyLoad(url)…...
华为OD机试 - 匿名信(Python)| 真题+思路+考点+代码+岗位
匿名信 题目 电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字减下来,剪拼成匿名信。 现在又一名举报人,希望借鉴这种手段,使用英文报刊完成举报操作。 但为了增加文章的混淆度,只需满足每个单词中字母数量一致即可,不关注…...
【Python】编写代码实现指定下标值顺序进行正序和倒序排序算法编程
🎉🎉 在本次python文章中,主要通过定义一个排序方法,实现一组数列能够按照另一组数列指定的位置进行重新排序输出,默认正序排序,可通过True表示逆序输出 目录1、知识点2、数列和元组1)错误遍历方…...
Sitara™处理器的产品开发路线图
Sitara™处理器的产品开发路线图概述Evaluation Phase(评估阶段)Board Development Phase(硬件发展阶段,硬件设计人员应重点关注这个阶段)Software Development Phase(软件发展阶段)Product Phase/SW Lifecycle概述 一般情况下,会存在四个主要的发展阶段…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
