MySQL(十三)DDL之库和表的管理

DDL(Data Define Languge):数据定义语言

一、库的管理

1.1、库的创建

语法:create database [if not exists]库名;

案例:创建库books

CREATE DATABASE IF NOT EXISTS books ;

1.2、库的修改

更改库的字符集

ALTER DATABASE books CHARACTER SET gbk;

1.3、库的删除

DROP DATABASE IF EXISTS books;

二、表的管理

2.1、表的创建

语法:create table 表名(列名 列的类型【(长度) 约束】,列名 列的类型【(长度) 约束】,...列名 列的类型【(长度) 约束】);

DESC book;

2.2、表的修改

语法:alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;

①修改列名

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;

2.3、表的删除

DROP TABLE IF EXISTS book_author;

查看当前数据库的表:SHOW TABLES;

2.4、表的复制

由于2.3已经把author表删了,所以先根据2.1创建回该表,然后插入一些数据;

(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='中国';

(4)仅仅复制某些字段

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

三、通用的写法

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

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

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2018-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏calmound

操作数据表

打开数据库    use 数据库 ---- use mydata 查看数据库    show databases 显示当前用户打开的数据库   SELECT ...

3086
来自专栏Java后端生活

MySQL(十五)DDL之常见的约束

1594
来自专栏撸码那些事

MySQL——通过EXPLAIN分析SQL的执行计划

在MySQL中,我们可以通过EXPLAIN命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。

924
来自专栏小白安全

小白博客 MYSQL常用语句

用户管理: 1、新建用户: >CREATE USER name IDENTIFIED BY ‘ssapdrow’; 2、更改密码: >...

3049
来自专栏土豆专栏

Java面试之数据库常用语句

>id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, //id值,无符号、非空、递增——唯一性,可做主键。

1547
来自专栏散尽浮华

mysql操作命令梳理(1)-索引

1、创建索引 索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。以下命令语句分别展...

1986
来自专栏资深Tester

增删改查的查之简单查询

1403
来自专栏Java呓语

第13.1.1章 语法解释ALTER DATABASE

ALTER DATABASE 允许修改数据库的特征,所有关于数据库的特征都存储在db.opt文件中。你必须先具备该数据库的ALTER特权,才能完成对数据库的AL...

681
来自专栏https://www.cnblogs.com/L

mysql中多个left join子查询写法以及别名用法

            od.reportSendOrderLogisticId,

993
来自专栏PHP在线

MyISAM InnoDB 区别(回顾)

索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。 在数据库表中,对字段建立索引可以大大提高查...

3375

扫码关注云+社区