在对数据表进行操作之前,必须首先使用 USE语句选择数据库,才可在指定的数据库中进行数据表的操作。
1.创建表
在数据库中创建一张表的基本语法如下:
CREATE TABLE tablename (column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints , ……column_name_n column_type_n constraints)
因为MySQL 的表名是以目录的形式存在于磁盘上,所以表名的字符可以用任何目录名允许
的字符。column_name 是列的名字,column_type 是列的数据类型,contraints 是这个列的约束条件,在后面的章节中会详细介绍。
如:创建一个名称为emp 的表。表中包括3 个字段,ename(姓名),hiredate(雇用日期)、
sal(薪水),字段类型分别为varchar(10)、date、int(2)(关于字段类型将会在下一章中
介绍):
mysql> create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2)); Query OK, 0 rows affected (0.02 sec)
2.查看表结构
表创建完毕后,如果需要查看一下表的定义结构,可以使用如下命令:
1)DESC tablename 【DESCRIBE tablename】
例如,查看emp 表,将输出以下信息:
mysql> desc emp; [describe emp;]
虽然desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定
义信息,有时就需要通过查看创建表的SQL 语句来得到,可以使用如下命令实现:
mysql> show create table emp \G;
从上面表的创建SQL 语句中,除了可以看到表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。“\G”选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。
2)show columns语句
3.删除表
表的删除命令如下:
DROP TABLE tablename
例如,要删除数据库emp 可以使用以下命令:
mysql> drop table emp; Query OK, 0 rows affected (0.00 sec)
4.修改表
alter table 语句,以下是一些常用的命令。
· 增加表字段(add),语法如下:
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
例如,表emp 上新增加字段age,类型为int(3):
mysql> alter table emp add column age int(3); Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table emp add email varchar(50) not null,qq int(10);
· 删除表字段(drop),语法如下:
ALTER TABLE tablename DROP [COLUMN] col_name
例如,将字段age 删除掉:
mysql> alter table emp drop column age; Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0
· 修改表字段类型(modify),语法如下:
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
例如,修改表emp 的ename 字段定义,将varchar(10)改为varchar(20):
mysql> alter table emp modify ename varchar(20); Query OK, 0 rows affected (0.03 sec)
· 修改字段名(change),语法如下:
ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]
例如,将age 改名为age1,同时修改字段类型为int(4):
mysql> alter table emp change age age1 int(4) ; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
注意:change 和modify 都可以修改表的定义,不同的是change 后面需要写两次列名,不方便。但是change 的优点是可以修改列名称,modify 则不能。
· 修改字段排列顺序
前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置,默认ADD 增加的新字段是加在表的最后位置,而CHANGE/MODIFY 默认都不会改变字段的位置。
例如,将新增的字段birth date 加在ename 之后:
mysql> alter table emp add birth date after ename; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0
· 修改字段age1,将它放在最前面:
mysql> alter table emp modify age1 int(3) first; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0
注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于MySQL 在标准SQL 上的扩展,在
其他数据库上不一定适用。
5.重命名(修改)表
ALTER TABLE tablename RENAME [TO] new_tablename
例如,将表emp 改名为emp1,命令如下:
mysql> alter table emp rename emp1; Query OK, 0 rows affected (0.00 sec)
RENAME TABLE tablename1 to tablename2
该语句可以同时修改多个数据表的重命名,多个表之间用“,”分开。
mysql> rename table emp1 to emp2;
6.清空表
truncate tablename
转载请注明: ITTXX.CN--分享互联网 » MySQL基础(六)--数据库--表的操作(创建,查看,修改,重命名,删除表)
最后更新:2020-03-27 22:29:23