DDL数据定义语言 (Data Definition Language)

应用场景:库和表的管理

关键字 :

创建: CREATE
修改: ALTER
删除: DROP(表结构或库一起删除)

一、库的管理

创建、修改、删除

1.库的创建

语法:

CREATE DATABASE [IF NOT EXISTS]库名; ([IF NOT EXISTS]容错性的一种处理)

案例:创建Books库

CREATE DATABASE IF NOT EXISTS Books;

2.库的修改

更改库的字符集

ALTER DATABASE Books CHARACTER SET gbk;

3.库的删除

DROP DATABASE 库名;
DROP DATABASE IS EXISTS Books; (同理加上IS EXISTS 是容错性的一种处理)

二、表的管理

创建、修改、删除

1.表的创建 ☆

CREATE TABLE 表名(
列名 列的类型【(长度)约束】,
列名 列的类型【(长度)约束】,
列名 列的类型【(长度)约束】,

列名 列的类型【(长度)约束】
)

案例:创建表Book

CREATE TABLE book(
id INT,#编号
bName VARCHAR(20),#书名
price DOUBLE,#价格
authorId INT,#作者编号
publishDate DATETIME #出版日期

);
DESC book;

案例:创建表author

CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
);
DESC author;

2.表的修改

格式:

ALTER TABLE 表名 ADD COLUMN|CHANGE COLUMN|MODIFY COLUMN|DROP COLUMN|RENAME TO

①修改列名 ,需要加上类型

ALTER TABLE book CHANGE COLUMN publishDate pubDate DATETIME;

②修改列的类型或约束

ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP ;

DESC book;

③添加新列

ALTER TABLE book ADD COLUMN annuual DOUBLE;

④删除列

ALTER TABLE book DROP COLUMN annuual;

⑤修改表名

ALTER TABLE author RENAME TO book_author;

3.表的删除

DROP TABLE IF EXISTS book_author;
SHOW TABLES;

一般创建新的库或者表就可以先判断下一下,提高容错性

DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;
CREATE TABLES 新表名();

4.表的复制

INSERT INTO author VALUES
(1,‘春上春树’,‘日本’),
(2,‘莫言’,‘中国’),
(3,‘东野圭吾’,‘日本’),
(4,‘金庸’,‘中国’);

1.仅仅复制表的结构

CREATE TABLE copy LIKE author;

2.复制表的结构和数据

CREATE TABLE copy2
SELECT * FROM author;

3.复制表的部分数据

CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation=‘中国’;

SELECT * FROM copy3;

4.仅仅复制某些字段

CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 0

SELECT * FROM copy4;

练习题

1.创建表dept1

NAME NULL? TYPE
id INT(7)
NAME VARCHAR(25)
-----------------------------我是分割线--------------------------------
CREATE TABLE dept1(
id INT(7),
NAME VARCHAR(25)
);

2.将表departments中的数据插入新表dept2中

USE books
CREATE TABLE dept2
SELECT * FROM myemployees.departments;

3.创建表emp5

NAME NULL? TYPE
id INT(7)
First_name VARCHAR (25)
Last_name VARCHAR(25)
Dept_id INT(7)
-----------------------------我是分割线--------------------------------
USE books;
CREATE TABLE emp5(
id INT(7),
First_name VARCHAR(25),
Last_name VARCHAR(25),
Dept_id INT(7)
);

4.将列Last_name的长度增加到50

ALTER TABLE emp5 MODIFY COLUMN Last_name VARCHAR(50);
DESC emp5;

5.根据表employees创建employees2

CREATE TABLE myemployees2 LIKE
myemployees.employees;

6.删除表emp5

DROP TABLE IF EXISTS emp5;

7.将表employees2重命名为emp5

ALTER TABLE myemployees2 RENAME TO emp5;

8.在表emp5中添加新列test_column,并检查所作的操作

ALTER TABLE emp5 ADD test_column INT ;
SELECT * FROM emp5;

9.直接删除表emp5中的列 test_column

ALTER TABLE emp5 DROP COLUMN test_column;
DESC emp5;

MySQL数据库之DDL语言相关推荐

  1. MySQL数据库之DDL语言:库和表的创建CREATE、修改ALTER、删除DROP

    文章目录 @[TOC] MySQL数据库之DDL语言:库和表的创建.修改.删除 1.DDL 数据定义语言 2.库的管理 2.1 库的创建 2.2 库的修改(能修改的不多,如修改字符集) 2.3 库的删 ...

  2. Mysql数据库以及sql语言

    mysql 安装请点击 mysql下载速度慢请点击 可视化工具请点击(不想用命令行的) mysql和java集成:jdbc mysql 索引的创建以及含义 mysql一般函数的使用(需要一定的sql基 ...

  3. c 连接mysql数据库查询_C语言实现访问及查询MySQL数据库的方法

    本文实例讲述了C语言实现访问及查询MySQL数据库的方法.分享给大家供大家参考,具体如下: 1.添加头文件路径(MySQL安装路径中的include路径) 2.添加库文件(直接从MySQL安装路径中c ...

  4. MySql基础之DDL语言

    DDL语言 库的管理 创建库 create database [if not exists] 库名 [character set 字符集名]; 修改库 alter database 库名 charac ...

  5. mysql数据库存储多语言_数据库---数据控制语言(DCL)

    mysql中,权限是系统内定的一些"名词"(单词),大约30个,每个权限表示"可以做什么工作". 则分配权限就是相当于让某个用户可以做哪些工作. 主要权限如下: ...

  6. 【Mysql数据库 第1章】初识Mysql数据库语言、Mysql数据库基本操作-DDL各个命令详解演示

    文章目录

  7. linux mysql c语言 api_linux连接MySQL数据库(C语言 API 分析,动态插入修改数据)

    #include #include #include #include #include #include #define DBHOST "localhost" #define D ...

  8. 分享几本比较好的pdf书籍,包括oracle数据库,mysql数据库,C语言编程,java编程,以及linux操作系统等

    1.个人认为最好的oracle数据库学习书籍,找了很久,发现内容最全讲解最清晰<Oracle PL/SQL程序设计>上下 链接:https://pan.baidu.com/s/1VxvbW ...

  9. MySQL数据库基本操作---DDL

    目录 一.对数据库的常规操作 1.查看所有的数据库 ​ 2.创建数据库 3.切换数据库 4.删除数据库 5.修改数据库编码 二.对表数据结构的常用操作 1.数据类型 2.创建表 3.查看当前数据库的所 ...

最新文章

  1. 隐马尔科夫模型HMM(一)HMM模型
  2. RH442-10 内存回收之二
  3. 独家 | 教你使用torchlayers 来构建PyTorch 模型(附链接)
  4. java匿名内部类举例和内部类举例
  5. idea 升级到2020后 无法启动_i.MXRT软复位后无法从32MB Flash启动?
  6. NoSQL之Redis非关系数据库(redis概述,持久化,RDB持久化,AOF持久,内存碎片)
  7. 数据库和ORMS:使用Tortoise ORM与数据库通信
  8. 时序数据库技术体系 – InfluxDB TSM存储引擎之数据读取
  9. 基于Django实现RBAC权限管理
  10. 基础编程题目集 6-7 统计某类完全平方数 (20 分)
  11. 太晚了!iPhone屏下指纹或要等到2021年才安排
  12. python 3d绘图旋转_Python:如何围绕z轴旋转曲面并进行三维绘图?
  13. matlab wmaxlev函数,CT-PET小波图像融合在精确放射治疗应用研究
  14. 初识二维码 第十八讲 编码转换
  15. Arthas线上代码诊断神器-定位问题
  16. 2022-11 | Redis命令SET SETEX SETNX语法及描述
  17. Summer——从头开始写一个简易的Spring框架
  18. html 表格 选择,html表格选择与colspan或rowspan
  19. lms算法的verilog实现_LMS verilog实现的LMS的算法,另外有tb文件可以测试 代码正确 VHDL-FPGA- 252万源代码下载- www.pudn.com...
  20. 符合FDA标准的邮件安全证书(S/MIME)有哪些?

热门文章

  1. 安装了什么,为什么在我的Mac上运行?
  2. linux操作系统诞生于哪一年,Linux操作系统已经诞生24周年
  3. lvextend in HP-UX to Increase Space for a Mounted VXFS Filesystem
  4. 计算物理基础期中考试2020.5.9
  5. Unity设置VS2017为编译器
  6. 编程的最高境界,就是在写逻辑而不是在写代码
  7. ZUUL的概念及使用
  8. 了解描述页模板,让你的宝贝人气高涨1
  9. Vue中实现特效下拉加载更多数据
  10. 程序员合同日期不到想辞职_员工 以个人原因,自愿主动辞职的,公司要给经济补偿吗?...