MySQL数据库之DDL语言
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语言相关推荐
- MySQL数据库之DDL语言:库和表的创建CREATE、修改ALTER、删除DROP
文章目录 @[TOC] MySQL数据库之DDL语言:库和表的创建.修改.删除 1.DDL 数据定义语言 2.库的管理 2.1 库的创建 2.2 库的修改(能修改的不多,如修改字符集) 2.3 库的删 ...
- Mysql数据库以及sql语言
mysql 安装请点击 mysql下载速度慢请点击 可视化工具请点击(不想用命令行的) mysql和java集成:jdbc mysql 索引的创建以及含义 mysql一般函数的使用(需要一定的sql基 ...
- c 连接mysql数据库查询_C语言实现访问及查询MySQL数据库的方法
本文实例讲述了C语言实现访问及查询MySQL数据库的方法.分享给大家供大家参考,具体如下: 1.添加头文件路径(MySQL安装路径中的include路径) 2.添加库文件(直接从MySQL安装路径中c ...
- MySql基础之DDL语言
DDL语言 库的管理 创建库 create database [if not exists] 库名 [character set 字符集名]; 修改库 alter database 库名 charac ...
- mysql数据库存储多语言_数据库---数据控制语言(DCL)
mysql中,权限是系统内定的一些"名词"(单词),大约30个,每个权限表示"可以做什么工作". 则分配权限就是相当于让某个用户可以做哪些工作. 主要权限如下: ...
- 【Mysql数据库 第1章】初识Mysql数据库语言、Mysql数据库基本操作-DDL各个命令详解演示
文章目录
- linux mysql c语言 api_linux连接MySQL数据库(C语言 API 分析,动态插入修改数据)
#include #include #include #include #include #include #define DBHOST "localhost" #define D ...
- 分享几本比较好的pdf书籍,包括oracle数据库,mysql数据库,C语言编程,java编程,以及linux操作系统等
1.个人认为最好的oracle数据库学习书籍,找了很久,发现内容最全讲解最清晰<Oracle PL/SQL程序设计>上下 链接:https://pan.baidu.com/s/1VxvbW ...
- MySQL数据库基本操作---DDL
目录 一.对数据库的常规操作 1.查看所有的数据库 2.创建数据库 3.切换数据库 4.删除数据库 5.修改数据库编码 二.对表数据结构的常用操作 1.数据类型 2.创建表 3.查看当前数据库的所 ...
最新文章
- 隐马尔科夫模型HMM(一)HMM模型
- RH442-10 内存回收之二
- 独家 | 教你使用torchlayers 来构建PyTorch 模型(附链接)
- java匿名内部类举例和内部类举例
- idea 升级到2020后 无法启动_i.MXRT软复位后无法从32MB Flash启动?
- NoSQL之Redis非关系数据库(redis概述,持久化,RDB持久化,AOF持久,内存碎片)
- 数据库和ORMS:使用Tortoise ORM与数据库通信
- 时序数据库技术体系 – InfluxDB TSM存储引擎之数据读取
- 基于Django实现RBAC权限管理
- 基础编程题目集 6-7 统计某类完全平方数 (20 分)
- 太晚了!iPhone屏下指纹或要等到2021年才安排
- python 3d绘图旋转_Python:如何围绕z轴旋转曲面并进行三维绘图?
- matlab wmaxlev函数,CT-PET小波图像融合在精确放射治疗应用研究
- 初识二维码 第十八讲 编码转换
- Arthas线上代码诊断神器-定位问题
- 2022-11 | Redis命令SET SETEX SETNX语法及描述
- Summer——从头开始写一个简易的Spring框架
- html 表格 选择,html表格选择与colspan或rowspan
- lms算法的verilog实现_LMS verilog实现的LMS的算法,另外有tb文件可以测试 代码正确 VHDL-FPGA- 252万源代码下载- www.pudn.com...
- 符合FDA标准的邮件安全证书(S/MIME)有哪些?
热门文章
- 安装了什么,为什么在我的Mac上运行?
- linux操作系统诞生于哪一年,Linux操作系统已经诞生24周年
- lvextend in HP-UX to Increase Space for a Mounted VXFS Filesystem
- 计算物理基础期中考试2020.5.9
- Unity设置VS2017为编译器
- 编程的最高境界,就是在写逻辑而不是在写代码
- ZUUL的概念及使用
- 了解描述页模板,让你的宝贝人气高涨1
- Vue中实现特效下拉加载更多数据
- 程序员合同日期不到想辞职_员工 以个人原因,自愿主动辞职的,公司要给经济补偿吗?...