SQL语法基础之create
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语法基础之create相关的知识,希望对你有一定的参考价值。
Create database语句是在mysql实例上创建一个指定名称的数据
库,create schema语句的语义和create database是一样的。
Create table语句是在数据库中创建表
Tbl_name表示被创建的表名,默认在当前数据库下创建此表,当
然也可以指定在某个数据库下创建表
If not exists表示当相同的表名存在时,则不执行此创建语句,避
免语句执行错误
Temporary关键词表示创建的是临时表,临时表仅对本链接可见,另外的数据库链接不可见,
当本链接断开时,临时表也自动被drop掉
另外一个数据库链接执行相同的查询语句查不到数据
本链接断开口在链接,临时表也不存在。
? Like关键词表示基于另外一个表的定义复制一个新的空表,空表上的字段属性和索
引都和原表相同
? Create table … as select语句表示创建表的同时将select的查询结果数据
插入到表中,但索引和主外键信息都不会同步过来
? Data_type表示定义的字段类型,后续会有详细介绍
? Not null/null表示字段是否允许为空,默认为null表示允许为空,not
null表示需要对此字段明确数值,或者要有默认值,否则报错
? Auto_increment表示字段为整数或者浮点数类型的value+1递增数值,value为当前表
中该字段最大的值,默认是从1开始递增;一个表中只容许有一个自增字段,且该
字段必须有key属性,不能含有default属性,且插入负值会被当成很大的正数
Column_format目前仅在ndb存储引擎的表上有用,表示该字段的
存储类型是fixed, dynamic或者是default
? Storage目前也仅在ndb存储引擎的表上有用
? Constraint表示为主键、唯一键、外键等约束条件命名,如果没有
命名则MySQL会默认给一个
? Primary key表示该字段为主键,主键字段必须唯一,必须非空,
一个表中只能有一个主键,主键可以包含一个或多个字段
? Key/index表示索引字段
? Unique表示该字段为唯一属性字段,且允许包含多个null值
? Foreign key表示该字段为外键字段
CREATE TABLE gender`(
gender_id int(11) NOT NULL,
name varchar(10) DEFAULT NULL,
PRIMARY KEY (gender_id)
);
create table students5(sid int not null primary key
auto_increment,sname varchar(10) unique,gender int,constraint
for_5 foreign key (gender) references gender(gender_id));
以上是关于SQL语法基础之create的主要内容,如果未能解决你的问题,请参考以下文章