1、最简单的:
CREATE TABLE t1(
id int not null,
name char(20)
);
2、带主键的:
a:
CREATE TABLE t1(
id int not null primary key,
name char(20)
);
b:复合主键
CREATE TABLE t1(
id int not null,
name char(20),
primary key (id,name)
);
3、带默认值的:
CREATE TABLE t1(
id int not null default 0 primary key,
name char(20) default '1'
);
转贴的:
CREATE TABLE PLAYERS
(PLAYERNO INTEGER NOT NULL PRIMARY KEY,
NAME CHAR(15) NOT NULL,
INITIALS CHAR(3) NOT NULL,
BIRTH_DATE DATE,
SEX CHAR(1) NOT NULL
CHECK(SEX IN ('M','F')),
JOINED SMALLINT NOT NULL
CHECK(JOINED > 1969) ,
STREET CHAR(30) NOT NULL,
HOUSENO CHAR(4),
POSTCODE CHAR(6) CHECK(POSTCODE LIKE '______'),
TOWN CHAR(10) NOT NULL,
PHONENO CHAR(13),
LEAGUENO CHAR(4))
;
CREATE TABLE TEAMS
(TEAMNO INTEGER NOT NULL PRIMARY KEY,
PLAYERNO INTEGER NOT NULL,
DIVISION CHAR(6) NOT NULL
CHECK(DIVISION IN ('first','second')),
FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;
CREATE TABLE MATCHES
(MATCHNO INTEGER NOT NULL PRIMARY KEY,
TEAMNO INTEGER NOT NULL,
PLAYERNO INTEGER NOT NULL,
WON SMALLINT NOT NULL
CHECK(WON BETWEEN 0 AND 3),
LOST SMALLINT NOT NULL
CHECK(LOST BETWEEN 0 AND 3),
FOREIGN KEY (TEAMNO) REFERENCES TEAMS (TEAMNO),
FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;
CREATE TABLE PENALTIES
(PAYMENTNO INTEGER NOT NULL PRIMARY KEY,
PLAYERNO INTEGER NOT NULL,
PAYMENT_DATE DATE NOT NULL
CHECK(PAYMENT_DATE >= DATE('1969-12-31')),
AMOUNT DECIMAL(7,2) NOT NULL
CHECK (AMOUNT > 0),
FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;
CREATE TABLE COMMITTEE_MEMBERS
(PLAYERNO INTEGER NOT NULL,
BEGIN_DATE DATE NOT NULL,
END_DATE DATE,
POSITION CHAR(20),
PRIMARY KEY (PLAYERNO, BEGIN_DATE),
FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO),
CHECK(BEGIN_DATE < END_DATE),
CHECK(BEGIN_DATE >= DATE('1990-01-01')))
;
分享到:
相关推荐
oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本
标题中的“Excel生成MYSQL建表语句”是指利用JAVA编程技术,通过读取预先设计好的Excel模板,自动生成对应的MySQL数据库建表语句的过程。这个过程通常涉及到数据处理、文件读写以及数据库操作等核心技能。 首先,让...
为了从Java实体类自动生成MySQL建表语句,开发者可以使用一些工具或库,如`JPA`的`Metamodel`API,或者开源项目如`MyBatis Generator`。这些工具能够解析Java源代码,从中提取实体类信息并生成相应的SQL语句。 4. ...
mysql 建表语句语法及相关练习
MySQL和Oracle都是SQL数据库管理系统,但它们对SQL语法的实现有所不同。例如,MySQL支持的`LIMIT`在Oracle中需用`ROWNUM`或`FETCH FIRST`来实现分页;MySQL的`INFORMATION_SCHEMA`在Oracle中对应的是`DBA_`或`USER_...
总之,将MySQL的建表语句转换为PostgreSQL语句涉及到对两种数据库系统的深入理解以及对它们之间语法差异的熟悉。虽然可以自动化部分过程,但人工检查和调整通常是必不可少的,以确保数据迁移的顺利进行。在进行此类...
本篇文章将深入探讨MySQL建表语句及其相关知识点。 1. **CREATE TABLE 语句的基本语法** `CREATE TABLE`语句用于创建新的数据表。其基本语法如下: ```sql CREATE TABLE table_name ( column_name1 column_...
首先,让我们了解一下MySQL建表语句。在SQL中,`CREATE TABLE`语句用于创建一个新的数据库表。它定义了表的结构,包括字段名、数据类型、约束等。例如: ```sql CREATE TABLE Employees ( ID INT PRIMARY KEY, ...
以下是对在MySQL建表过程中如何将日期设置为默认获取当前系统时间这一知识点的深入探讨。 ### 1. 使用`CURRENT_TIMESTAMP`作为默认值 在创建表结构时,可以指定某一列(通常是时间戳类型)的默认值为`CURRENT_...
### MySQL与DB2建表SQL语句的主要差异 在数据库管理领域中,不同的数据库系统有着各自独特的特性与语法。MySQL和DB2作为两种广泛使用的数据库管理系统,在创建表时存在一些重要的差异。理解这些差异对于跨数据库...
MySQL和PostgreSQL虽然都是关系型数据库管理系统,但它们的SQL语法在某些方面有所不同。例如,MySQL支持`ON UPDATE CURRENT_TIMESTAMP`特性,当表中的某个字段被更新时,该字段会自动设置为当前时间。而在PostgreSQL...
MySQL和Oracle都是广泛使用的数据库管理系统,但它们的SQL语法略有不同。当需要将MySQL的表结构迁移到Oracle数据库时,必须进行适当的语法转换。标题提到的"‘Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql...
以下是对“MySQL建表的规范总结.pdf”中提到的关键点的详细解释: **设计表规范** 1. **字段非空和默认值**:创建表时,为确保数据完整性,字段应尽可能设置为非空(NOT NULL),并设定默认值。这样可以避免插入...
首先,我们来看 `CREATE TABLE` 语句的基本语法: ```sql CREATE TABLE 表名 ( 列1 列数据类型 约束条件, 列2 列数据类型 约束条件, ... ); ``` 在上述的 `students` 表示例中,我们有以下列定义: 1. `id INT...
本文将分享一些常用的MySQL建表SQL语句,以帮助提升建表的速度和效率。建表过程中,我们经常需要执行诸如创建、删除、查询、修改等操作,而熟练掌握相应的SQL语句,将显著提高工作效率。 首先,连接MySQL服务器的...
2. 转换规则应用:根据SQL Server的语法特性,工具会将MySQL的SQL语句转化为相应的SQL Server语法。 3. 数据导出:将MySQL中的数据导出为SQL脚本,或者直接导入到SQL Server中。 4. 验证与调整:迁移后,需要验证...
GuassDB与MySQL的区别以及语法差异,MySQL数据迁移GuassDB的导入导出和GuassDB的基本操作命令
在MySQL数据库系统中,SQL(Structured Query Language)是用于创建、操作和管理数据库的...对于"mysql sql建表脚本",理解并执行"usertable"的创建过程是关键,这涉及到SQL语法、数据类型选择以及表设计的最佳实践。
在MySQL数据库管理中,创建表是一项基础而关键的操作,它涉及到如何定义数据结构,以便有效地存储和检索数据。本文将详细解析几个典型的`CREATE TABLE`语句,这些语句不仅展示了如何构建表的基本框架,还深入探讨了...
MySQL数据库和SQL Server是两种广泛使用的数据库管理系统,它们在语法、功能和管理上存在显著差异。将MySQL数据库转换成SQL Server是一项常见的需求,特别是在企业级应用迁移或整合项目中。以下是一些关于如何进行...