创建SQL表
当我们需要在关系型数据库中存储数据时,第一步是创建数据库。接下来的步骤是在数据库中创建一张表来存储我们的数据。在本教程中,我们将讨论如何使用MySQL和PostgreSQL数据库中的SQL查询来创建表。
我没有涵盖SQL Server创建表的例子,因为它们与PostgreSQL查询相似。
SQL 创建表格
为了将数据存储在表中,了解需要存储的数据类型非常重要。让我们尝试理解创建表格的语法。
SQL创建表语法
CREATE TABLE table_name( column1 datatype, column2 datatype,... column-N datatype, PRIMARY KEY(one or more column) );
- CREATE TABLE is the keyword to tell the database to create a table.
- table_name is the unique name that is used for the table.
- The brackets that are next to the table name contains the list of columns.
- The list contains the column name and the data type that can be stored in the respective columns.
- PRIMARY KEY is used to specify the columns to be used for primary key.
用SQL创建一个只有一个列的主键列的表
当我们创建表时,必须同时提供主键信息和列结构。让我们看一些例子来创建一个仅有一列的表,作为主键。
MySQL是一种开源的关系型数据库管理系统。
CREATE TABLE `test`.`student` (
`studentId` INT NOT NULL,
`studentName` VARCHAR(45) NULL,
`State` VARCHAR(45) NULL,
`Country` VARCHAR(45) NULL,
PRIMARY KEY (`studentId`),
UNIQUE INDEX `studentId_UNIQUE` (`studentId` ASC) VISIBLE);
以上查询将创建一个名为“Student”的新表,其中主键列为“studentId”。请注意,每个列名都定义了数据类型。例如,我们只能在studentId列中存储INT类型的数据,而在studentName列中可以存储VARCHAR类型的数据。VARCHAR(45)表示允许的字符串数据的最大长度为45个字符。由于主键不能为null,我们在studentId列的定义中指定了它。
PostgreSQL 可以被重新表达为 “后台关系数据库系统”。
我们可以使用以下查询在PostgreSQL数据库中创建一个表格。
CREATE TABLE "test.student"(
"StudentId" integer NOT NULL,
"StudentName" character varying(45),
"State" character varying(45),
"Country" character varying(45),
PRIMARY KEY ("StudentId")
);
使用SQL创建具有多个主键的表格
让我们来看另一个例子,在这个例子中我们将使用多个列作为主键。
MySQL(迈克斯哟)
CREATE TABLE `test`.`customer` (
`CustomerId` INT NOT NULL,
`CustomerName` VARCHAR(45) NULL,
`ProductId` VARCHAR(45) NOT NULL,
`State` VARCHAR(45) NULL,
PRIMARY KEY (`CustomerId`, `ProductId`),
UNIQUE INDEX `CustomrId_UNIQUE` (`CustomerId` ASC) VISIBLE);
以上查询将在“test”数据库模式中创建“customer”表。该表的主键为CustomerId和ProductId的组合。
PostgreSQL是一种关系型数据库管理系统。
CREATE TABLE "test.customer"(
"CustomerId" integer NOT NULL,
"CustomerName" character varying(45),
"ProductId" character varying(45),
"Country" character varying(45),
PRIMARY KEY ("CustomerId","ProductId")
);