在创建表时需要提前了解mysql里面的数据类型
常见的数据类型
创建表
创建表方式1:
格式:
CREATE TABLE [ IF NOT EXISTS ] 表名 (字段1, 数据类型 [ 约束条件 ] [ 默认值 ],字段2, 数据类型 [ 约束条件 ] [ 默认值 ],字段3, 数据类型 [ 约束条件 ] [ 默认值 ],……[表约束条件 ]);
#方式1 "白手起家"
CREATE TABLE IF NOT EXISTS myemp1( #需要用户有创建表单权限
id INT,
emp_name VARCHAR(15), #使用VARCHAR来定义字符串,必须指明其长度
hire_date DATE
);
#查看表结构
DESC myemp1;
#查看创建表的语句结构
SHOW CREATE TABLE myemp1;
#查看表数据
SELECT *FROM myemp1;
创建表方式2:
格式
CREATE TABLE emp1 AS SELECT * FROM employees;CREATE TABLE emp2 AS SELECT * FROM employees WHERE 1 = 2 ; -- 创建的 emp2 是空表
#方式2: 基于现有的表创建新表,还可以导入数据
CREATE TABLE myemp2
AS
SELECT employee_id,last_name,salary
FROM employees;
#查看表结构
DESC myemp2;
#查看创建表的语句结构
SHOW CREATE TABLE myemp2;
#查看表数据
SELECT *FROM myemp2;
#说明1:查询语句中字段的别名,可以作为新创建的表的字段的名称。
#说明2:此时的查询语句可以结构比较丰富,使用前面章节讲过的各种SELECT
CREATE TABLE myemp3
AS
SELECT e.employee_id emp_id,e.last_name lname,d.department_name
FROM employees e JOIN departments d
ON e.department_id = d.department_id;
#查看表结构
DESC myemp3;
#查看创建表的语句结构
SHOW CREATE TABLE myemp3;
#查看表数据
SELECT *FROM myemp3;
#练习1:创建一个表employees_copy,实现对employees表的复制,包括表数据
CREATE TABLE IF EXISTS employees_copy
AS
SELECT *
FROM employees;
#练习2:创建一个表employees_blank,实现对employees表的复制,不包括表数据
CREATE TABLE IF EXISTS employees_blank
AS
SELECT *
FROM employees
#where department_id>100000;
#where 1=2;(推荐) #山无棱,天地合,乃敢与君绝。
#limit 0,0;