创建数据库表的语法定义包含了SQL Server、Mysql、PostgreSQL、SQLite的示例
-- 创建一个名为students的表,包含学生信息
-- SQL Server
CREATE TABLE [dbo].[students] (
[student_id] INT IDENTITY(1,1) NOT NULL,
[name] NVARCHAR(100) NOT NULL,
[email] NVARCHAR(100) NOT NULL,
[age] INT NOT NULL,
[gender] NVARCHAR(10) NOT NULL,
CONSTRAINT [PK_students] PRIMARY KEY CLUSTERED ([student_id] ASC)
);
-- MySQL
CREATE TABLE `students` (
`student_id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`age` INT NOT NULL,
`gender` ENUM('male', 'female', 'other') NOT NULL,
PRIMARY KEY (`student_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- PostgreSQL
CREATE TABLE students (
student_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL
);
-- SQLite
CREATE TABLE students (
student_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL,
age INTEGER NOT NULL,
gender TEXT NOT NULL
);
这个例子展示了如何在不同的数据库系统中创建一个简单的学生信息表。每个数据库系统都有其特定的语法和关键字,例如自增主键的定义(SQL Server使用IDENTITY,MySQL使用AUTO\_INCREMENT,PostgreSQL使用SERIAL,SQLite使用AUTOINCREMENT)以及数据类型的差异(例如SQL Server的NVARCHAR和MySQL的ENUM)。
评论已关闭