欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。

教程  MySQL基础(六)--数据库--表的操作(创建,查看,修改,重命名,删除表)

MySQL 本站 1307 0评论

在对数据表进行操作之前,必须首先使用 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;]

111.png

虽然desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定

义信息,有时就需要通过查看创建表的SQL 语句来得到,可以使用如下命令实现:

mysql> show create  table  emp \G;

222.png

从上面表的创建SQL 语句中,除了可以看到表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。“\G”选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。


2)show  columns语句

333.jpg


3.删除表


表的删除命令如下:

DROP  TABLE  tablename

例如,要删除数据库emp 可以使用以下命令:

mysql> drop table emp;
Query OK, 0 rows affected (0.00 sec)

444.png


4.修改表

 

555.jpg

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

666.jpg

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)

777.png


· 修改字段名(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

888.png

注意: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

999.jpg


· 修改字段age1,将它放在最前面:

mysql> alter  table  emp  modify  age1  int(3)  first;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0

000.jpg


注意: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

赞 (2) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽