DDL:Data Definition Language數(shù)據(jù)庫定義語言:主要作用是對數(shù)據(jù)庫和表的管理聚蝶,
這里的表的管理是表本身仪召,不是表里的記錄數(shù)據(jù)值的管理尉桩,前面講的增刪改查是對表里的記錄數(shù)據(jù)值的操作挖帘,本質(zhì)不同注意區(qū)別啡捶。
1.對數(shù)據(jù)庫的管理
創(chuàng)建數(shù)據(jù)表卸勺,修改數(shù)據(jù)庫,刪除數(shù)據(jù)庫
2.對數(shù)據(jù)庫里的數(shù)據(jù)表的管理
創(chuàng)建數(shù)據(jù)表 : create
修改數(shù)據(jù)表的結(jié)構(gòu)設(shè)計(jì)(字段的名和字段的數(shù)據(jù)類型) : alter
刪除數(shù)據(jù)表 : drop
1.數(shù)據(jù)庫的管理
創(chuàng)建數(shù)據(jù)庫books
create database books;
create database if not exists books;
修改數(shù)據(jù)庫的字符集
ALTER DATABASE BOOKS CHARACTER SET gbk;
ALTER DATABASE BOOKS CHARACTER SET utf8;
刪除數(shù)據(jù)庫
DROP DATABASE IF EXISTS books ;
2.表的管理:
2.1.創(chuàng)建表:
語法:create table 表名(
字段名 字段里保存數(shù)據(jù)的類型int(11)【(數(shù)據(jù)的長度)約束】
字段名 字段里保存數(shù)據(jù)的類型【(數(shù)據(jù)的長度)約束】
字段名 字段里保存數(shù)據(jù)的類型【(數(shù)據(jù)的長度)約束】
字段名 字段里保存數(shù)據(jù)的類型【(數(shù)據(jù)的長度)約束】
字段名 字段里保存數(shù)據(jù)的類型【(數(shù)據(jù)的長度)約束】
......
);
注意:數(shù)據(jù)類型和約束嫌术,接下來用專門的部分來講哀澈,現(xiàn)在就用簡單的整數(shù)類型int,字符串類型varchar來舉例演示
案例:books里創(chuàng)建一張表book用來保存書的信息
create table book(
id int(11),#書的編號(hào)
b_name VARCHAR(10),#書名
b_price DOUBLE, #書的價(jià)格
publishDate DATETIME #出版日期
)
#創(chuàng)建書的作者信息表
CREATE TABLE t_author(
id INT(11),
a_name VARCHAR(4),
salary DOUBLE
)
2.2.表的修改:
首先看看可以修改表的那些東西?
1.可以修改字段名 CHANGE
2.可以修改字段的數(shù)據(jù)類型或約束 MODIFY
3.可以添加新字段 ADD
4.刪除字段 DROP
5.修改表名 RENAME
2.2.1修改publish_date (注意后面要跟上類型)
ALTER TABLE book change COLUMN publishDate publish_date datetime;
2.2.2修改publish_date 的時(shí)間類型(datetime)改為date日期型
alter table book modify column publish_date date;
DESC BOOK;#顯示表的語句
2.2.3給作者表添加工資字段
ALTER table t_author add COLUMN salary DOUBLE;
DESC t_author;
2.2.4刪除作者表工資字段
ALTER TABLE t_author DROP COLUMN salary;
DESC t_author;
2.2.5修改表名
ALTER TABLE t_author RENAME TO b_author;
DESC b_author;
總結(jié):表結(jié)構(gòu)的修改語法:
ALTER TABLE 表名 add/drop/modify/change COLUMN 字段名 字段類型 【約束】
2.3.表的刪除
DROP TABLE IF EXISTS b_author ; //直接刪除了
2.4.表的復(fù)制
CREATE TABLE author(
id INT(11),
a_name VARCHAR(4),
salary DOUBLE
)
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (1, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (2, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (3, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (4, '李白', '100000');
INSERT INTO `books`.`author`(`id`, `a_name`, `salary`) VALUES (5, '李白', '100000');
2.4.1.僅復(fù)制表的結(jié)構(gòu)
CREATE TABLE c_author like author;
DESC c_author;
SELECT * FROM c_author;
2.4.2.復(fù)制表的結(jié)構(gòu)和數(shù)據(jù)
CREATE TABLE c_author1 SELECT* FROM author;
SELECT * FROM c_author1;
2.4.3.只復(fù)制表結(jié)構(gòu)和部分?jǐn)?shù)據(jù)
DROP TABLE IF EXISTS c_author2 ;
CREATE TABLE c_author2 SELECT * FROM author where id <=3;
SELECT * FROM c_author2;
2.4.4.只復(fù)制部分字段度气,且不要數(shù)據(jù)
CREATE TABLE c_author3 SELECT a_name FROM author WHERE 0;
SELECT * FROM c_author3;