数据库--day7

  1 #DDL数据定义语言
  2 /*
  3 上一节学的insert delete update
  4 是对表中数据进行操作 是DML数据管理语言
  5 
  6 这一节学的是对整个表,或者库的操作
  7 创建/修改/删除 一个表或者库,
  8 
  9 库和表的管理
 10 库:创建、修改、删除
 11 表:创建、修改、删除
 12     create  alter drop
 13     
 14 C:\ProgramData\MySQL\MySQL Server 5.5\data
 15 */
 16 #----------------库-----------------#
 17 
 18 #1、库的创建
 19 #create database 库名;
 20 #if not exitsts 是容错处理,如果存在则不创建 如果没有则创建
 21 CREATE DATABASE IF NOT EXISTS books;
 22 
 23 #2、库的修改
 24 RENAME DATABASE books TO 新库名//一般不修改,容易出错
 25   #更改库的字符集
 26   #在创建的时候默认的字符集是utf-8
 27 ALTER DATABASE books CHARACTER SET gbk;
 28 
 29 #3、库的删除
 30 #IF EXISTS 容错处理 如果存在就删除 否则不做处理
 31 DROP DATABASE IF EXISTS books;
 32 
 33 
 34 #表
 35 #1、表的创建
 36 #IF NOT EXISTS容错处理 若不存在,创建
 37 CREATE TABLE IF NOT EXISTS 表名 (
 38     列名 列类型 [长度] [约束],
 39     列名 列类型 [长度] [约束],
 40     ...
 41     列名 列类型 [长度] [约束]
 42     )
 43 CREATE TABLE book(
 44     id INT,#编号
 45     bName VARCHAR(20),#书名
 46     peice DOUBLE,#价格
 47     authorId INT,#作者ID
 48     publishDate DATETIME#出版日期
 49 );    
 50 #varchar 类型必须+长度
 51 CREATE TABLE author(
 52     id INT,#编号
 53     authorName VARCHAR(20),#作者名
 54     nation VARCHAR(10)#国籍
 55 );
 56 DESC author ;
 57 DESC book ;
 58 #2、表的修改
 59 ALTER TABLE 表名 CHANGE/ADD/DROP/MODIFY COLUMN 列名[类型或约束];
 60 
 61 #修改列名,
 62 ALTER TABLE book CHANGE COLUMN     publishdate pubdate DATETIME;
 63 #修改 表    表名 改变   列(可省略) 旧列名      新列名   新列的类型               
 64 
 65 #列类型或约束,
 66 ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
 67 
 68 #添加列,
 69 ALTER TABLE book ADD COLUMN annual DOUBLE;
 70 
 71 #删除列,
 72 ALTER TABLE book DROP COLUMN annual;
 73 
 74 #修改表名。
 75 ALTER TABLE author RENAME TO book_author;
 76 DESC book_author;
 77 
 78 #3、表的删除 
 79 #if exists 容错处理  如果存在删除 否则不处理
 80 DROP TABLE IF EXISTS book_author;
 81 
 82 SHOW TABLES;
 83 
 84 #4、表的复制
 85 #在复制之前我们先把表名改过来再添加几个数据
 86 ALTER TABLE book_author RENAME TO author;
 87 INSERT INTO author VALUES
 88 (1,'村上春树','日本'),
 89 (2,'莫言','中国'),
 90 (3,'冯唐','中国'),
 91 (4,'金庸','中国');
 92 
 93 SELECT * FROM copy2_author;
 94 
 95 #1、仅复制表的结构
 96 CREATE TABLE copy_author LIKE author;
 97 #2、复制表的数据+结构
 98 CREATE TABLE copy2_author
 99 SELECT * FROM author;
100 
101 #3、复制部分数据/102 
103 #复制id authorName这两列  
104 #且 nation='中国'的数据
105 CREATE TABLE copy3_author
106 SELECT id,authorName
107 FROM author
108 WHERE nation='中国';
109 
110 #4、仅复制部分结构不要数据
111 CREATE TABLE copy4_author
112 SELECT id,authorName
113 FROM author
114 WHERE 0
115 #写一个无法满足的条件,即可排除所有数据

 

posted @ 2020-04-30 11:51  亚斯娜  阅读(118)  评论(0)    收藏  举报