当我们必须在关系数据库中存储数据时,第一个部分是 创建数据库。
我不涵盖 SQL Server 创建表示例,因为它们类似于 PostgreSQL 查询。
SQL 创建表
为了在表中存储数据,了解需要存储的数据类型非常重要,让我们试着理解创建表的语法。
SQL 创建表语法
1CREATE TABLE table_name( column1 datatype, column2 datatype,... column-N datatype, PRIMARY KEY(one or more column) );
- CREATE TABLE是指数据库创建表的关键字
- table_name是用于表的唯一名称
- 表名旁边的轴承包含列表列表
- 列表包含可以存储在相应列表中的列名和数据类型(/community/tutorials/sql-data-types)
- PRIMARY KEY用于指定用于主键的列。
SQL 创建一个列的表 主要密钥
当我们创建表时,我们必须提供主要密钥信息以及列结构,让我们看看创建一个具有单个列作为主要密钥的表的几个示例。
思考
1CREATE TABLE `test`.`student` (
2`studentId` INT NOT NULL,
3`studentName` VARCHAR(45) NULL,
4`State` VARCHAR(45) NULL,
5`Country` VARCHAR(45) NULL,
6PRIMARY KEY (`studentId`),
7UNIQUE INDEX `studentId_UNIQUE` (`studentId` ASC) VISIBLE);
上面的查询将创建一个新的学生
表,其主要密钥列为studentId
。 请注意,每个列名都有定义的数据类型。 例如,我们只能在学生Id列中存储INT数据,而我们可以在学生Name列中存储VARCHAR数据。
邮局
我们可以使用以下查询创建 PostgreSQL 数据库中的表。
1CREATE TABLE "test.student"(
2"StudentId" integer NOT NULL,
3"StudentName" character varying(45),
4"State" character varying(45),
5"Country" character varying(45),
6PRIMARY KEY ("StudentId")
7);
使用多个主键创建 SQL 表
让我们看看另一个例子,我们将在主键中使用多个列。
思考
1CREATE TABLE `test`.`customer` (
2 `CustomerId` INT NOT NULL,
3 `CustomerName` VARCHAR(45) NULL,
4 `ProductId` VARCHAR(45) NOT NULL,
5 `State` VARCHAR(45) NULL,
6PRIMARY KEY (`CustomerId`, `ProductId`),
7UNIQUE INDEX `CustomrId_UNIQUE` (`CustomerId` ASC) VISIBLE);
上面的查询将在测试
数据库方案中创建客户
表,该表的主要密钥是 CustomerId 和 ProductId 的组合。
邮局
1CREATE TABLE "test.customer"(
2"CustomerId" integer NOT NULL,
3"CustomerName" character varying(45),
4"ProductId" character varying(45),
5"Country" character varying(45),
6PRIMARY KEY ("CustomerId","ProductId")
7);