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 条评论
登录 后参与评论

相关文章

来自专栏Java呓语

第13.1.1章 语法解释ALTER DATABASE

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

721
来自专栏资深Tester

增删改查的查之简单查询

1513
来自专栏battcn

MySQL - 索引详解

索引依托于存储引擎的实现,因此,每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。所有存储引擎支持每个表至少16个索引,总索引长度至...

722
来自专栏PHP在线

MySQL索引类型一览 让MySQL高效运行起来

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

3295
来自专栏土豆专栏

Java面试之数据库常用语句

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

1697
来自专栏散尽浮华

mysql操作命令梳理(2)-alter(update、insert)

在mysql运维操作中会经常使用到alter这个修改表的命令,alter tables允许修改一个现有表的结构,比如增加或删除列、创造或消去索引、改变现有列的类...

1956
来自专栏java达人

left join 过滤条件写在on后面和写在where 后面的区别

create table t1(id int, feild int); insert into t1 values(1 , 1); insert into t1...

25210
来自专栏撸码那些事

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

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

962
来自专栏杨建荣的学习笔记

MySQL修改数据类型的问题总结(r10笔记第74天)

昨天快下班的时候,突然开发的同事找我说有个紧急需求,负责这个业务的DBA同事回家了,想让我帮忙看看,运行个SQL语句,几秒钟就好。我一听,就本着人道主义的精神留...

34310
来自专栏静默虚空的博客

sql 语言

sql 语言 DDL DDL 全称 Data Definition Language,即数据定义语言。 DATABASE 创建数据库 CREATE DATABA...

1987

扫码关注云+社区