SQL | 您所在的位置:网站首页 › 怎样在sql中建立数据表格 › SQL |
SQL - 在数据库中创建表 CREATE 语句用于创建数据库结构,如表、视图、序列、函数、过程、包、触发器等。我们将在教程的后面部分探索所有这些数据库结构。 CREATE TABLE 语句用于在数据库中创建新表。以下是在数据库中创建新表的语法。 句法: CREATE TABLE table_name( column_name1 data_type [NULL|NOT NULL], column_name2 data_type [NULL|NOT NULL], ... ); 在上面的 CREATE TABLE 语法中,table_name是您想要给出的表的名称,column_name1是第一列的名称,column_name2是第二列的名称,依此类推。是data_type列要存储的数据类型,例如字符串、整数、日期时间等。数据类型因数据库而异,例如,SQL Server 中的字符串数据类型是 or ,而 Oraclevarchar中是nvarchar。varchar2因此,数据类型取决于您使用的数据库。 使用NULLorNOT NULL约束指定列是否允许NULL 值。默认情况下,除非指定,否则所有列都允许NULL值NOT NULL。这些NULL列是可选的,而NOT NULL在插入或更新数据时,列是必需的。 在 SQL Server、MySQL、PostgreSQL、SQLite 中创建表 以下命令将用于Employee在 SQL Server、MySQL、PostgreSQL、SQLite 数据库中创建表: SQL 脚本:创建表 复制 CREATE TABLE Employee( EmpId integer, FirstName varchar(20), LastName varchar(20), Email varchar(25), PhoneNo varchar(25), Salary integer ); 上面的Employee是表的名称,EmpId、FirstName、LastName、Email、PhoneNo、HireDate、 和Salary是列。varchar是字符串数据类型,其大小在括号中提及,例如varchar(20)指定该列将存储最多 20 个字符长的字符串。 大多数时候,数据库中的所有表都至少有一列作为主键。下面定义了一个带有主键的表。 创建EmpId integer PRIMARY KEY,列EmpId并同时将其定义为主键。 SQL 脚本:使用主键创建表 复制 CREATE TABLE Employee ( EmpId integer PRIMARY KEY, FirstName varchar(20), LastName varchar(20), Email varchar(25), PhoneNo varchar(25), Salary integer ); 在Oracle中创建表 以下 SQL 脚本Employee在 Oracle 数据库中创建带有主键的表: SQL 脚本:在 Oracle 中创建表 复制 CREATE TABLE Employee( EmpId number PRIMARY KEY, FirstName varchar2(20), LastName varchar2(20), Email varchar2(25), PhoneNo varchar2(25), Salary number(8) ); 注意,在Oracle中,字符串数据类型被称为varchar2,整数类型被称为number。 在此阶段,该Employee表是空的,不包含任何数据。另请注意,我们创建了一个以EmpId列作为主键的表,这意味着表中所有行中的字段EmpId都是唯一且非空Employee字段。 Employee下图是数据库中的表的示意图。 从现有表创建新表 该CREATE TABLE AS命令用于从具有结构和数据的现有表创建一个新表,如下所示:以下查询将在 Oracle、MYSQL、SQLite 和 PostgreSQL 中运行。 SQL 脚本:创建包含数据的表的副本 CREATE TABLE Employee_Backup AS SELECT * FROM Employee; 要创建包含选定列和数据的表副本Employee,请使用CREATE TABLE AS命令,如下所示: SQL 脚本:创建包含数据的表的副本 CREATE TABLE TempEmployee as (SELECT EmpId, FirstName, LastName FROM Employee); Employee要创建仅包含结构且无数据的表副本,请使用命令,CREATE TABLE AS如下所示: SQL 脚本:创建没有数据的表的副本 CREATE TABLE Consultant AS SELECT * FROM Employee WHERE 1=2; 上面的where子句where 1=2不会返回任何记录,因此上面的命令只创建一个没有数据的表。 在 MS SQL Server 中创建表的副本 该SELECT * INTO命令创建具有结构和数据的现有表的副本。 SQL 脚本:在 SQL Server 中创建表的副本 SELECT * INTO Employee_backup FROM Employee 表格设计指南 在数据库中创建任何表之前,需要设计表,表中将存储什么样的信息。需要什么列,列的数据类型是什么?哪些约束将适用于不同的列?应该对表应用哪些约束?表之间的关系是什么? 以下是设计表格时需要考虑的一些准则: 定义表名和列名时使用缩写但有意义的名称。 列名称允许的最大长度为 30 个字符,并且应以字母开头。 为表的每一列定义适当的数据类型。 尝试在表中仅保留必需的列。不太重要的列可以保留到其他一些详细表中,而不是将它们存储在主表中。 始终尝试放置可以包含 NULL 值的列。这样,它将节省存储空间。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |