论DDL语言,和美女老师讨论的第一天
Posted 铅华殿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论DDL语言,和美女老师讨论的第一天相关的知识,希望对你有一定的参考价值。
前言
前面简单对这四大语言做了基本了解,今天来讲解一下DDL语言,DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用,至于DML语言,请参考DML链接
一、库的管理
1.库的创建
创建数据库:
create database 数据库名称;
创建数据库,判断不存在,再创建:
create database if not exists 数据库名称;
创建数据库,并指定字符集
create database 数据库名称 character set 字符集名;
#案例:创建库Books
CREATE DATABASE IF NOT EXISTS books ;
2.库的查询
查询所有数据库的名称:
show databases;
查询某个数据库的字符集:查询某个数据库的创建语句
show create database 数据库名称;
查询当前正在使用的数据库名称
select database();
使用数据库
use 数据库名称;
3.库的修改
语法: RENAME DATABASE books TO 新库名;
修改数据库的字符集
alter database 数据库名称 character set 字符集名称;
4.库的删除
删除数据库
drop database 数据库名称;
判断数据库存在,存在再删除
drop database if exists 数据库名称;
二、表的管理
1.表的创建
语法:
create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
...
列名 列的类型【(长度) 约束】
);
注意 :最后一列,不需要加逗号( , )
#案例:创建表Book
CREATE TABLE book(
id INT,#编号
bName VARCHAR(20),#图书名
price DOUBLE,#价格
authorId INT,#作者编号
publishDate DATETIME#出版日期
);
2.表的查询
查询当前数据库中所有的表
show tables;
查询某个数据库中所有的表
show tables from 数据库名称;
查询表结构
desc 表名;
3.表的修改
对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表。这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载。而且,如果有服务在访问表,也会对服务产生影响。因此,在大多数情况下,表结构的更改一般都使用 alter table语句,以下是一些常用的命令和语法。
语法:
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
a.修改表名
alter table 表名 rename to 新的表名;
b.修改表的字符集
alter table 表名 character set 字符集名称;
c.添加一列
alter table 表名 add 列名 数据类型;
d.修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
e.删除列
alter table 表名 drop 列名;
4.表的删除
语法:
drop table 表名;
drop table if exists 表名;
5.表的复制
关于表的复制,在这里我们直接上案例。
案例:创建表author
CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
)
DESC author;
INSERT INTO author VALUES
(1,'村上春树','日本'),
(2,'莫言','中国'),
(3,'冯唐','中国'),
(4,'金庸','中国');
查询两个表 :
SELECT * FROM Author;
SELECT * FROM copy2;
1).仅仅复制表的结构
CREATE TABLE copy LIKE author;
2).复制表的结构+数据
CREATE TABLE copy2 SELECT * FROM author;
#只复制部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation='中国';
#仅仅复制某些字段
CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 0;
以上是关于论DDL语言,和美女老师讨论的第一天的主要内容,如果未能解决你的问题,请参考以下文章