目录
一、创建表
1.1方式一
#创建表的练习
CREATE TABLE emp(
id INT,
`name` VARCHAR(32),
sex CHAR(1),
brithday DATE,
entry_date DATETIME,
job VARCHAR(32),
salary DOUBLE,
`resume` TEXT)
CHARSET utf8 COLLATE utf8_bin ENGINE INNODB;
-- 添加数据
INSERT INTO emp VALUES(1,'程序员','男','2000-10-10','2021-10-10 10:10:10','Java开发',6000,'写代码');
SELECT*FROM emp
1.2方式二
CREATE TABLE IF NOT EXISTS myemp1(
id INT,
emp_name VARCHAR(15),
hire_data DATE
);
二、查看表的结构
DESC myemp1
三、查看创建表的语句结构
show create table myemp1;
四、修改表
4.1添加字段
#默认添加到表的最后一列
ALTER TABLE myemp1 ADD salary DOUBLE(5,2);
#指定添加到表的第一列
ALTER TABLE myemp1 ADD phone_number VARCHAR(20) FIRST;
#指定添加到那列的后面
ALTER TABLE myemp1 ADD email VARCHAR(20) AFTER hire_data ;
4.2修改字段
#修改字段的长度
ALTER TABLE myemp1 MODIFY email VARCHAR(25);
#修改字段的默认值
ALTER TABLE myemp1 MODIFY email VARCHAR(25) DEFAULT '123456789@qq.com';
4.3重命名字段
#重命名字段
ALTER TABLE myemp1 CHANGE salary monthly_salary DOUBLE(5,2);
4.4删除字段
#删除字段
ALTER TABLE myemp1 DROP COLUMN email;
4.5重命名表
#方式一
rename table myemp1 to myemp2;
#方式二
alter table myemp2 rename to myemp3;
4.6清空表
TRUNCATE TABLE myemp3;
4.7删除表
DROP TABLE IF EXISTS myemp3;
五、练习
#1. 创建数据库test01_office,指明字符集为utf8。并在此数据库下执行下述操作
CREATE DATABASE IF NOT EXISTS test01_office CHARACTER SET 'utf8';
#2. 创建表dept01
/*
字段 类型
id INT(7)
NAME VARCHAR(25)
*/
CREATE TABLE dept01 (
id INT(7),
`name` VARCHAR(25)
);
#3. 将表departments中的数据插入新表dept02中
CREATE TABLE dept02
AS
SELECT * FROM atguigudb.`departments`;
#4. 创建表emp01
/*
字段 类型
id INT(7)
first_name VARCHAR (25)
last_name VARCHAR(25)
dept_id INT(7)
*/
CREATE TABLE emp01(
id INT(7),
first_name VARCHAR(25),
last_name VARCHAR(25),
dept_id INT(7)
);
#5.将列last_name的长度增加到50
ALTER TABLE emp01 MODIFY last_name VARCHAR(50);
DESC emp01;
#6. 根据表employees创建emp02
CREATE TABLE emp02
AS
SELECT * FROM atguigudb.employees;
#7. 删除表emp01
DROP TABLE emp01
#8.将表emp02重命名为emp01
RENAME TABLE emp02 TO emp01;
#9.在表dept02和emp01中添加新列test_column,并检查所作的操作
ALTER TABLE emp01 ADD test_column VARCHAR(10);
DESC emp01;
#10.直接删除表emp01中的列 department_id
ALTER TABLE emp01 DROP COLUMN department_id;