1.DDL剩余内容
#2.创建表author
CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(20)
);
DESC author;
#2.表的修改
/*
alter table 表名 add|drop|modify|change column 列名 列类型 约束;
*/
#①修改列名
DESC book;
ALTER TABLE book CHANGE COLUMN publishdate pubdate DATETIME;
#②修改列的类型或约束
ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
#③添加列
DESC author;
ALTER TABLE author ADD COLUMN annual DOUBLE;
#④删除列
ALTER TABLE book_author DROP COLUMN annual;
#⑤修改表名
ALTER TABLE author RENAME TO book_author;
#3.表的删除
DROP TABLE IF EXISTS book_author;
SHOW TABLES;
#通用的写法:
DROP DATABASE id EXISTS 旧库名;
CREATE DATABASE 新库名;
DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 新表名();
#4.表的复制
INSERT INTO author VALUES
(1,'村上春树','日本'),
(2,'莫言','中国'),
(3,'冯唐','中国'),
(4,'金庸','中国');
SELECT * FROM author;
#1.仅仅复制表的结构
CREATE TABLE copy LIKE author;
SELECT * FROM copy;
#2.复制表的结构外加数据,加查询
CREATE TABLE copy2
SELECT * FROM author;
SELECT * FROM copy2;
#3.只复制部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation='中国';
#4.仅仅复制某些字段
CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 1=2;
SELECT * FROM copy4;
#练习1:#1. 创建表dept1
/*NAME NULL? TYPE
id INT(7)
NAME VARCHAR(25)
*/
CREATE TABLE dept1(id INT(7),NAME VARCHAR(25));
#练习2:将表departments中的数据插入新表dept2中
CREATE TABLE dept2
SELECT department_id,department_name
FROM myemployees.departments;
#练习3:创建表emp5
NAME NULL? TYPE
id INT(7)
First_name VARCHAR (25)
Last_name VARCHAR(25)
Dept_id INT(7)
CREATE TABLE emp5(id INT(7),First_name VARCHAR(25),Last_name VARCHAR(25),Dept_id INT(7));
#练习4,将列Last_name的长度增加到50
ALTER TABLE emp5 MODIFY COLUMN Last_name VARCHAR(50);
#练习5.根据表employees创建employees2
CREATE TABLE employees2
SELECT *
FROM myemployees.`employees`;
#练习6.删除表emp5
DROP TABLE emp5;
#练习7.将表employees2重命名为emp5
ALTER TABLE employees2 RENAME TO emp5;
#练习8.在表dept和emp5中添加新列test_column,并检查所作的操作
ALTER TABLE dept1 ADD COLUMN test_cloumn VARCHAR(20);
ALTER TABLE dept2 ADD COLUMN test_cloumn VARCHAR(20);
ALTER TABLE emp5 ADD COLUMN test_cloumn VARCHAR(20);
DESC dept1;
DESC dept2;
DESC emp5;
#练习9.直接删除表emp5中的列 dept_id
ALTER TABLE emp5 DROP COLUMN department_id;
2.数据类型初步
#常见数据类型
/*
数值型:
整型
小数:定点数、浮点数
字符型:较短的文本:char,varchar
较长的文本:text、blob(较长的二进制数据)
日期型:
*/
#一、整型
/*
tinyint 1字节 有符号-127——127,无符号0-255
smallint 2字节 以此类推
mediaint 3字节
int/integer 4字节
bigint 8字节
特点:1.如果不设置无符号或者有符号,默认有符号(正负符号,有符号代表可以用负数,无符号只能用正数
2.如果超出了范围会报警告,默认插入临界值
*/
#1.如何设置无符号和有符号
DROP TABLE IF EXISTS tab_int;
CREATE TABLE tab_int(
t1 INT,
t2 INT UNSIGNED
);
DESC tab_int;
INSERT INTO tab_int VALUES(-12341);
INSERT INTO tab_int VALUES(-12341,-23423);
INSERT INTO tab_int VALUES(-1234124124124121,-2223423);
SELECT * FROM tab_int;
3.明日计划,数据类型剩余内容,表约束内容