数据库中的数据是存储在基本表中的,所以需要先创建数据表再插入数据。

mysql 更改表到其他数据库_表

创建表

创建表的同时须指定表名、字段名和数据类型。
语法

create table <表名>(
<字段名1> <数据类型1>[,
<字段名2> <数据类型2>,
...
<字段名n> <数据类型n>]);
  • <表名>:表名不可与SQL关键字相同,同一个数据库中的表名不可重复。
  • <字段名>:字段名不可与SQL关键字相同,同一个表中的字段名不可重复。

示例:创建employee员工信息表

mysql 更改表到其他数据库_MySQL_02

mysql> create table employee(
    -> e_id varchar(5),
    -> e_name varchar(5),
    -> e_age int,
    -> d_id varchar(5));
查看表

在当前数据库中可以查看创建好的数据表。
语法

show tables [like '表名'];
  • like 子句是可选项,用于匹配指定的表名,可以模糊匹配,也可以精确匹配。

示例1:查看当前数据库内的所有表

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| employee    |
| emp7           |
+----------------+

示例2:使用like子句查看以’emp’开头的表

mysql> show tables like 'emp%';
+------------------------+
| Tables_in_test (emp%) |
+------------------------+
| employee             |
| emp7                   |
+------------------------+

示例3:查看employee表的定义声明

mysql> show create table employee\G;
*************************** 1. row ***************************
       Table: employee
Create Table: CREATE TABLE `employee` (
  `e_id` varchar(5) DEFAULT NULL,
  `e_name` varchar(5) DEFAULT NULL,
  `e_age` int(11) DEFAULT NULL,
  `d_id` varchar(5) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

使用 SHOW CREATE TABLE 语句不仅可以查看创建表时的详细语句,而且可以查看存储引擎和字符编码。如果不加“\G”参数,显示的结果可能非常混乱,加上“\G”参数之后,可使显示的结果更加直观,易于查看。

创建好数据表之后,可以查看表结构。
语法

describe <表名>; 或 desc <表名>;

示例:查看employee表的结构定义

mysql> desc dep;
+--------+------------+------+-----+---------+-------+
| Field  | Type       | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+-------+
| e_id   | varchar(5) | YES  |     | NULL    |       |
| e_name | char(5)   | YES  |     | NULL    |       |
| e_age    | int(11)    | YES  |     | NULL    |       |
| d_id   | varchar(5) | YES  |     | NULL    |       |
+--------+------------+------+-----+---------+-------+
  • Null:表示该字段是否可以存储 NULL 值。
  • Key:表示该字段是否已编制索引。PRI 表示主键,UNI 表示 UNIQUE 唯一索引,MUL 表示某个给定值允许出现多次。
  • Default:表示该字段是否有默认值,如果有,值是什么。
  • Extra:表示可以获取的附加信息,如 AUTO_INCREMENT 等。
修改表

为实现数据库中表规范化设计,有时候需要对已经创建的表进行结构修改或调整。
语法:修改表名

alter table <原表名> rename <新表名>;

示例:将employee表名改为emp

mysql> alter table employee rename emp;

语法:添加新字段

alter table <表名> add <新字段名> <数据类型> [约束条件] [first|after 参照字段名];
  • 约束条件和字段位置可以不指定,默认无约束,在表中最后一列显示。

示例:在emp表中添加新字段location

mysql> alter table emp add location varchar(5);

语法:修改字段名

alter table <表名> change <原字段名> <新字段名> <新数据类型>;

示例:修改字段名location为loc

mysql> alter table emp change location loc varchar(5);

语法:修改字段类型

alter table <表名> modify <字段名> <新数据类型>;

示例:修改loc的字段类型为varchar(10)

mysql> alter table emp modify loc varchar(10);

语法:修改字段的排列位置

alter table <表名> modify <字段名> <数据类型> first|after 参照字段名;

示例:修改字段loc的排列位置

mysql> alter table emp modify loc varchar(10) after d_id;

语法:删除字段

alter table <表名> drop <字段名>;

示例:删除字段loc

mysql> alter table emp drop loc;
删除表

删除表指删除表结构的同时删除表中数据,因此需谨慎使用。
语法

drop table [if exists] <表名> [,<表名1>,<表名2>,...<表名n>];
  • 可删除多张表,if exists避免表不存在时报错。

示例1:删除emp表

mysql> drop table emp;

示例2:避免表不存在时报错

mysql> drop table if exists emp;