六:创建和管理表

创建和管理表:

创建数据库

创建表

描述各种数据类型

修改表的定义

删除,重命名和清空表

 

(1)创建数据库

创建一个保存员工信息的数据库

create database employees;

l 相关其他命令

show databases;查看当前所有数据库

use employees;“使用”一个数据库,使其作为当前数据库

 

(2)创建表

 CREATE TABLE

必须具备:

– CREATE TABLE权限

存储空间

必须指定:

表名

列名, 数据类型,  尺寸

 

CREATE TABLE dept
(   deptno  INT(2),
dname  VARCHAR(14),
loc  VARCHAR(13)
);

 

常用数据类型:数据库字段的类型

INT             使用4个字节保存整数数据

CHAR(size)       定长字符数据。若未指定,默认为1个字符,最大长度255

VARCHAR(size)    可变长字符数据,根据字符串实际长度保存,必须指定长度

FLOAT(M,D)      单精度,M=整数位+小数位,D=小数位。 D<=M<=255,0<=D<=30

DOUBLE(M,D)     双精度。D<=M<=255,0<=D<=30,默认M+D<=15

DATE            日期型数据,格式’YYYY-MM-DD’

BLOB            二进制形式的长文本数据,最大可达4G

TEXT            长文本数据,最大可达4G

CREATE TABLE emp (
emp_id INT AUTO_INCREMENT,
emp_name CHAR (20),
salary DOUBLE,
birthday DATE,
PRIMARY KEY (emp_id)
) ;

#复制表:
create table emp1 as select * from employees;

 

  (3)更改表

    ALTER TABLE  语句

 使用 ALTER TABLE 语句可以实现:

 向已有的表中添加列

 

ALTER TABLE dept80  ADD job_id varchar(15);

修改现有表中的列
ALTER TABLE  dept80  MODIFY (last_name VARCHAR(30));

删除现有表中的列
ALTER TABLE dept80 DROP COLUMN job_id;

重命名现有表中的列
ALTER TABLE dept80  CHANGE department_name dept_name varchar(15);
Table altered.

 

 

(4)删除表

数据和结构都被删除

所有正在运行的相关事务被提交

所有相关索引被删除

• DROP TABLE 语句不能回滚

DROP TABLE dept80;

 

(5)清空表

TRUNCATE TABLE

TRUNCATE TABLE 语句:

删除表中所有的数据

释放表的存储空间

• TRUNCATE语句 不能回滚

可以使用 DELETE 语句删除数据,可以回滚

对比:

 

delete from emp2;
select * from emp2;
rollback;
select * from emp2;
TRUNCATE TABLE detail_dept;
Table truncated

(7)改变表名称

  ALTER table dept

  RENAME TO detail_dept;

  Table renamed.

  

// 开始事务操作进行回滚
select * from ordertotals;
start transaction;
delete from ordertotals;
select * from ordertotals;
rollback;
select * from ordertotals;

 

posted @ 2020-05-11 14:57  INSTANCE_SELF  阅读(214)  评论(0编辑  收藏  举报