ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DDL(数据定义语言)

2021-03-29 22:01:08  阅读:296  来源: 互联网

标签:author CREATE 表名 定义语言 emp5 DDL TABLE 数据 ALTER


  • 库和表的管理
    • 库的管理:创建、修改、删除
    • 标的管理:创建、修改、删除
    • 创建:create
    • 修改:alter
    • 删除:frop

 1.库的管理

  • 库的创建

    • 语法:create database [if not exists] 库名 [character set 字符集名];

    • 案例:创建库book

CREATE DATABASE IF NOT EXISTS books;

  • 库的修改
    • 修改库名的语句【已停用】

RENAME DATABASE books TO new_books;

    • 更改库的字符集

ALTER DATABASE books CHARACTER SET gbk;

  • 库的删除

DROP DATABASE IF EXISTS books;

2.表的管理

  • 表的创建
    • 语法:

create table 【if not exists】 表名(

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

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

​ …

)

    • 案例1:创建表 book

CREATE TABLE book (
id INT,
bname VARCHAR (20),
price DOUBLE,
authorid INT,
publishdate DATETIME
) ;

    • 案例2:创建表author

CREATE TABLE author (
id INT,
au_name VARCHAR (20),
nation VARCHAR (10)
) ;

    • 案例3:查看创建的表

DESC author;

  • 表的修改
    • 语法:alter table 表名 add | drop | modify | change column 列名 【列类型 约束】;
    • 添加列:alter table 表名 add column 列名 类型 【first | after 字段名】;
    • 修改列的类型或约束:alter table 表名 modify column 列名 新类型 【新约束】;
    • 修改列名:alter table 表名 change column 旧列名 新列名 类型;
    • 删除列:alter table 表名 drop column 列名;
    • 修改表名:alter table 表名 rename 【to】 新表名;
    • 修改列名

ALTER TABLE book
CHANGE COLUMN publishdate pubdate DATETIME ;

  • 修改列的类型或约束

ALTER TABLE book
MODIFY COLUMN pubdate TIMESTAMP ;

  • 添加新列

ALTER TABLE author
ADD COLUMN annual DOUBLE ;

  • 删除列

ALTER TABLE author
DROP COLUMN annual ;

  • 修改表名

ALTER TABLE author
RENAME TO book_author ;

 

  • 表的删除
    • 语法:drop table if exists 表名;
    • 查看有哪些表:show tables;
    • if exists 只能在库,表的创建和删除的时候使用,列的操作不能使用。
    • 通用的写法:

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

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

  • 表的复制
    • 仅仅复制表的结构

CREATE TABLE copy LIKE book_author ;

    • 复制表的结构+数据

CREATE TABLE copy2
SELECT
*
FROM
book_author ;

    • 只复制部分数据

CREATE TABLE copy3
SELECT
id,
au_name
FROM
book_author
WHERE nation = '中国' ;

    • 仅仅复制某些字段(部分结构):设置where不满足,那么就没有数据

CREATE TABLE copy4
SELECT
id,
au_name
FROM
book_author
WHERE 0 ;

  • 习题集
    • 创建表dept1

USE myemployees;
CREATE TABLE dept1 (id INT (7), NAME VARCHAR (25)) ;

    • 将表departments中的数据插入新表dept2中

CREATE TABLE dept2
SELECT
department_id,
department_name
FROM
departments ;

    • 创建表emp5

CREATE TABLE emp5 (
id INT (7),
first_name VARCHAR (25),
last_name VARCHAR (25),
dept_id INT (7)
) ;

    • 将last_name的长度修改为50

ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);

    • 根据表employees创建employee2

CREATE TABLE employee2 LIKE employees ;

    • 删除表emp5

DROP TABLE IF EXISTS emp5;

    • 将表empoyees2重命名为emp5

ALTER TABLE employee2
RENAME TO emp5 ;

    • 在表dept和emp5中添加新列test_column,并检查所做的操作

ALTER TABLE emp5
ADD COLUMN test_column INT ;
DESC emp5;

    • 直接删除表emp5中的列dept_id

ALTER TABLE emp5
DROP COLUMN dept_id ;

原文链接:https://blog.csdn.net/qq_21579045/article/details/98111827

标签:author,CREATE,表名,定义语言,emp5,DDL,TABLE,数据,ALTER
来源: https://www.cnblogs.com/hxl-learning-space/p/14594464.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有