MySQL学习笔记 ------ 库和表的管理

#DDL

/*

数据定义语言

库和表的管理

一、库的管理

创建、修改、删除

二、表的管理

创建、修改、删除

创建: create

修改: alter

删除: drop

*/

#一、库的管理

#1、库的创建

/*

语法:

create database if not exists库名;

*/

#案例:创建库Books

CREATE DATABASE IF NOT EXISTS books ;

#2、库的修改

RENAME DATABASE books TO 新库名;#现在一般不支持修改,最好不要改

#更改库的字符集

ALTER DATABASE books CHARACTER SET gbk;

#3、库的删除

DROP DATABASE IF EXISTS books;

#二、表的管理

#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|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 book_author DROP COLUMN annual;

#⑤修改表名

ALTER TABLE author RENAME TO book_author;

DESC book;

#3.表的删除

DROP TABLE IF EXISTS author;

#查看当前库的所有表

SHOW TABLES;

#创建新库/表的通用写法------先把旧的删一遍------

DROP DATABASE IF EXISTS 旧库名;

CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;

CREATE TABLE 表名();

#4.表的复制

INSERT INTO author VALUES

(1,'村上春树','日本'),

(2,'莫言','中国'),

(3,'冯唐','中国'),

(4,'金庸','中国');

DESC author;#显示表的属性

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;

SELECT * FROM copy4;

相关推荐
笃行35010 小时前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行35010 小时前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行35010 小时前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H10 小时前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
戴为沐16 小时前
Linux内存扩容指南
linux
zylyehuo1 天前
Linux 彻底且安全地删除文件
linux
SelectDB1 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵1 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql