创建表的两种方式 [MySQL][数据库]

创建表的两种方式

方式一: ----> 我将这种方式归结为白手起家的方式

CREATE TABLE [IF NOT EXISTS] 表名(
    #这里的每个字段之间使用,(逗号)隔开,但是最后面一个字段不使用,(逗号)
	字段1 数据类型 [约束条件] [默认值],
    字段2 数据类型 [约束条件] [默认值],
    ......
    [表的约束条件]
);
  • 注意: 我们加了[]的内容可以有也可以没有

我们这里举一个使用方式一创建表的例子

CREATE TABLE IF NOT EXISTS myemp1(
`	id INT,
    #使用VARCHAR类型来定义字符串,那么在使用时一定要给定长度,如这里就是给定长度为15
    emp_name VARCHAR(15),
    hire_date DATE
);
  • 注意: 我们在命名标识符时多个单词之间使用 _ (下划线)隔开

方式二: ----->基于现有的表,将现有的表的数据导入到创建的表中

这里我们通过几个例子来理解如何使用方式二的形式来创建表

CREATE TABLE myemp2
AS
SELECT *
FROM employees;
  • 这里将会创建一个名为 myemp2的表,然后表中的内容就是AS关键字后面查询到的数据,并且创建的myemp2表中的字段名就是我们后面查询的字段名
    • 这个时候我们查询的字段名是*(星号),也就是表示查询的是employees表中的所有字段,那么我们的myemp2表中的字段就是我们查询的employees表中的所有字段,这里其实就是完全将employees表复制了一遍,这两个表的内容完全一致,只是两张表的名字不同
CREATE TABLE myemp3
AS
SELECT e.employee_id emp_id,e.last_name l_name
FROM employees e JOIN departments d
ON e.department_id = d.department_id;
  • 这里我们会创建一个名为 myemp3的表,表里的内容就是AS关键字后面查询到的数据,这个时候myemp3表中的字段名就是我们AS后面查询的字段名(如果起了别名,那么就是别名作为新表的字段名)
    • 这个时候我们可以发现: 查询语句中给字段起了别名之后,这个别名会作为创建的myemp3表的字段名
  • 注意: 这里AS后面的查询结构可以比较丰富,使用前面讲过的各种查询操作都可以

我们创建数据表时要保证用户具备创建表的权限

猜你喜欢

转载自blog.csdn.net/m0_57001006/article/details/123539761
今日推荐