03_mysql数据表创建、删除、修改等操作
数据表创建、删除、修改等
1、CREATE TABLE 语句创建新表
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more colume)
);
创建数据表必须有:表名、列名、列数据类型
查看创建好的表:DESC table_name;

插入数据:INSERT INTO table_name VALUES;
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);

2、CREATE TABLE 和 SELECT 语句创建现有表的副本表 ,新建的表复制了旧表相同数据,对其操作不影响旧表
CREATE TABLE new_table_name AS
SELECT [column1, column2 ... columnN]
FROM existing_table_name
[WHERE CONDITION];

3、SHOW TABLES 展示数据表
① show tables; --必须要use zbl_database; 后才可以
②show tables in zbl_database;
③show tables from zbl_database;
④ show tables in zbl_database LIKE "cust%" --带有通配符(例如"%")的 LIKE 运算符去匹配的表


4、DROP 命令删除数据表
DROP TABLE IF EXISTS table_name;--删除数据表

5、ALTER 命令修改现有数据表的结构,可以修、删除、添加列
ALTER table table_name [alter_option ...];
①删除表中现有的数据列(ALTER 与 DROP COLUNM)
alter table cust_copy drop address; -- 删除cust_copy表中的address列
alter table cust_copy drop column address;

②添加数据列 (ALTER 与 ADD),默认添加到表尾
altert table cust_copy add address char(25); -- 默认添加到表尾

alter table cust_copy add address char(25) after age; --使用AFTER col_name添加到对应列后面
alter table cust_copy add id int first; -- 使用first标注添加在第一列。(FIRST 和 AFTER 说明符仅适用于 ADD 子句)

6、更改列定义或名称,使用MODIFY 或 CHANGE 配合ALTER使用
① ALTER TABLE table_name MODIFY column_name new_datatype;
alter table cust_copy modify address varchar(32);

② ALTER TABLE table_name CHANGE old_column_name new_column_name datatype; --指定要更改的列的名称(两次)
alter table cust_copy change id id_sn int(32);

7、更改列默认值 DEFAULT
ALTER table cust_copy ALTER address SET DEFAULT 'GZ'; --修改默认值

ALTER table cust_copy ALTER address DROP DEFAULT; --删除默认值

8、更新表名 ALTER 与 RENAME 语句
ALTER table cust_copy RENAME TO cust_2;

9、描述表
① DESCRIBE 、DESC 语句描述表
DESC table_name [col_name | wild];
DESC table_name column_name

② SHOW COLUMNS 语句
SHOW COLUMNS FROM table_name

③ EXPLAIN 语句
EXPLAIN table_name

10、显示数据表的列
① SHOW COLUMNS 语句
SHOW [EXTENDED] [FULL] [COLUMNS] [FIELDS]
{FROM | IN} table_name [{FROM | IN} table_name]
[LIKE 'pattern' | WHERE expr]
show columns from cust_copy;

LIKE 子句 --指定一个模式来检索特定列的信息
SHOW COLUMNS FROM cust_copy LIKE 'a%'; --检索a开头的列

WHERE 子句 --WHERE 子句来检索符合指定条件的列的信息
SHOW COLUMNS FROM cust_copy WHERE Type ='int'; --检索‘int’类型的列

11、重命名列
① ALTER TABLE......RENAME COLUMN 语句对列重命名
ALTER TABLE table_name
RENAME COLUMN old_col_name TO new_col_name,
RENAME COLUMN old_col_name1 TO new_col_name1;
ALTER TABLE cust_copy RENAME COLUMN id_sn TO id;

② ALTER TABLE ......CHANGE COLUMN 更改一个或多个列的名称及其数据类型
ALTER TABLE table_name
CHANGE COLUMN old_col_name new_col_name;
ALTER TABLE cust_copy CHAGNE COLUMN address addr varchar(24);


浙公网安备 33010602011771号