加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite:CREATE TABLE

发布时间:2020-12-12 20:41:37 所属栏目:百科 来源:网络整理
导读:create-table-stmt: 650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="syntax diagram create-table-stmt" src="http://www.sqlite.org/images/syntax/create-table-stmt.gif"> column-def: 650) this.width=650;" src="http:

create-table-stmt:

syntax diagram create-table-stmt

column-def:

syntax diagram column-def

type-name:

syntax diagram type-name

column-constraint:

syntax diagram column-constraint

table-constraint:

syntax diagram table-constraint

foreign-key-clause:

syntax diagram foreign-key-clause

“CREATE TABLE”命令用来创建一个SQLite数据库中的一个新表。 一个CREATE TABLE命令用来指定新表中的下列属性:

  • 新表的名称。

  • 创建新表的数据库 表格可创建在主数据库,临时数据库,或在任何附加的数据库中。

  • 表中的每一列的名称。

  • 表中的每一列的声明类型。

  • 表中的每一列的默认值或表达式。

  • 表的默认排序方式。

  • 一个表的主键, 无论是单个列或是复合(多列)主键。

  • 表的约束。 SQLite支持UNIQUE,NOT NULL,CHECK以及FOREIGN KEY约束。

每个CREATE TABLE语句中必须指定一个新表的名称。 表名以“sqlite_”开始的预留为内部使用。尝试创建一个表的名称以“sqlite_”开始的表是一个错误。

如果一个<database-name>已经被指定,则它必须不可以是"main","temp",或一个附加的数据库的名称。 在这种情况下,新表才会被创建在指定的数据库中。 如果"TEMP" or "TEMPORARY" 关键字出现在 "CREATE" 和"TABLE"之间,那么新表将会创建在临时数据库。 指定<database-name>,并且出现TEMP或TEMPORARY关键字是错误的,除非<database-name>是“temp”。 如果没有指定数据库名称并且TEMP关键字不存在,那么该表是建立在主数据库中的。

尝试创建一个与数据库中已经存在一个表、索引或视图同名的新表,通常是错误的。但是,如果CREATE TABLE语句中存在“IF NOT EXISTS”子句,表或视图的名称已经存在,CREATE TABLE命令则根本没有效果(并且不会返回错误消息)。 但是即使是“IF NOT EXISTS”子句已被指定,当数据库中存在同名索引时,新表仍然无法创建,同时返回一个错误消息。

可以创建一个和现有的触发器同名的新表,这不是一个错误

可以使用DROP TABLE语句删除表。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读