快捷搜索:  xxx  as  推理研究所  幼幼  侦探研究所

申博官网娱乐玩法:用SQL创建数据库



首先说说怎么用SQL语句创建数据库,创建数据库的语句有如下几种:

1. CREATE TABLE(创建新表)

2. CREATE INDEX(增添索引)

3. DROP INDEX(删除索引)

4. CONSTRAINT(约束语句)

5. ALTER TABLE(改动表)

6. DROP TABLE(删除表)

CREATE TABLE语句:

在数据库中天生新表,表中字段的类型可以为:INTEGER(整型)、LONG(长整型)、 SINGLE(单精度浮点数)、DOUBLE(双精度浮点数)、DATETIME(日期型,也可以写成DATE)、BIT(布尔型)、 TEXT(字符串型,最大年夜255个字节)、MEMO(字符串型,最大年夜可达1.2G字节)、 COUNTER(自动递增长整型,可确定记录的独一性)、CURRENCY(泉币型,正确到小数点左边15位,右边4位)、 BINARY(字节型,最大年夜255个)、LONGBINARY(用于OLE工具)、GUID(全局独一标识符)。

天生表NewTable,该表有文本字段Field1和整型字段Field2,表名和字段名申博官网娱乐玩法可以随便你取,不区分大年夜小写,然则,有些保留字不能用作表名字段名,比如Number

CREATE TABLE NewTable(Field1 TEXT(30), Field2 INTEGER);

CREATE INDEX语句:

INDEX是为了加快查找记录的速率,或者是为了增添字段约束关系而设置的。

创建索引语句履行前表中可以有记录,但存在的记录必须满意该索引语句的约束关系,否则语句不能履行,别的要留意的是在同一个数据库中(而不仅仅是在同一个表中),索引名不能相同,否则语句也会掉败。

天生字段Field1的索引字段NewIndex,两条语句感化相同

天生后Field1字段可以有相同的值,可以有空值(NULL)

CREATE INDEX NewIndex ON NewTable (Field1);

CREATE INDEX NewIndex ON NewTable (Field1) WITH IGNORE NULL;

天生字段Field1的索引字段NewIndex,留意,每个表里只能有一个主索引(PRIMARY)。天生后Field1字段不能有相同的值,不能有空值(当然,假如是TEXT类型,可以有一个空串,然则空串不是空值)

CREATE INDEX NewIndex ON NewTable(Field1) WITH PRIMARY;

字段Field1不能有相同的值,但可以有空值(两个空值不算相同的值)

CREATE UNIQUE INDEX NewIndex ON NewTable(Field1);

字段Field1可以有相同的值,但不能有空值

CREATE INDEX NewIndex ON NewTable(Field2) WITH DISALLOW NULL

可以在索引语句中加入ASC(升序)或DESC(降序)来节制记录排列顺序假如不应用顺序字,SQL则申博官网娱乐玩法默认应用ASC顺序

CREATE INDEX NewIndex ON NewTable(Field1 ASC, Field2 DESC);

DROP INDEX语句:

删除表NewTable中的索引NewIndex,语句履行前索引NewIndex必须存在

DROP INDEX NewIndex ON NewTable;

CONSTRAINT语句:

CONSTRAINT子句用于创建数据库完备性的索引,它和INDEX语句感化一样,有些地方可以相互替代,它可以应用PRIMARY KEY(主关键字),UNIQUE(独一)和FOREIGN KEY(外部关键字),和INDEX比拟不能应用IGNOR NULL和DISALLOW NULL,但多了FOREIGN KEY(这也是它最强大年夜的地方)。别的, CONSTRAINT语句必须和CREATE TABLE或ALTER TABLE语句一路应用。

天生表NewTable,主关键字段是Field1,主索引是NewPK

CREATE TABLE NewTable(Field1 LONG CONSTRAINT NewPK PRIMARY KEY, Field2 MEMO, Field3 DATETIME);

天生索引为NewUK的表NewTable,Field1不能有相同值,可以有空值

CREATE TABLE NewTable(Field1 INTEGER CONSTRAINT NewUK UNIQUE);

天生多列的主索引,两笔记录的Field1和Field2不能整个相同,也不能为空值

CREATE TABLE NewTable(Field1 INTEGER, Field2 CURRENCY, CONSTRAINT NewPK PRIMARY KEY(Field1, Field2));

天生多列的UNIQUE索引,两笔记录的Field1和Field2不能整个相同留意,假如两笔记录此中一个字段相同而另一个字段都是空值,那也算两个字段不合

CREATE TABLE NewTable(Field1 IN申博官网娱乐玩法TEGER, Field2 CURRENCY, CONSTRAINT NewUK UNIQUE(Field1, Field2));

要在几个不合的表之间建立联系,就要应用FORE申博官网娱乐玩法IGN KEY REFERENCES子句,它可以限制某个表的字段内容必须存在于别的一个表中。

第一个例子:

首先,天生主关键字段为Field1的表NewTable1

CREATE TABLE NewTable1(Field1 INTEGER CONSTRAINT NewPK PRIMARY KEY);

然后,再天生外部索引,两个表的Field1必须类型相同,并且第一个表的Field1是主关键字段或UNIQUE字段。天生外部索引后,表NewTable2要增添记录,它的Field1字段值必须已经存在于表NewTable1的Field1字段中。

下面两条语句感化相同,由于Field1是NewTable1的主关键字段,可以省略不写

CREATE TABLE NewTable2(Field1 INTEGER CONSTRAINT NewFK REFERENCES NewTable1);

CREAT申博官网娱乐玩法E TABLE NewTable2(Field1 INTEGER CONSTRAINT NewFK REFERENCES NewTable1(Field1));

第二个例子:

首先,天生主关键字段为Field1和Field2的表NewTable1

CREATE TABLE NewTable1(Field1 INTEGER, Field2 TEXT(20), CONSTRAINT NewPK PRIMARY KEY(Field1, Field2));

然后,天生多列外部索引

CREATE TABLE NewTable2(Field1 INTEGER, Field2 TEXT(20), CONSTRAINT NewFK FOREIGN KEY(Field1, Field2) REFERENCES NewTable1(Field1, Field2));

ALTER TABLE语句:

在表天生之后,假如想改动表的布局,就应用这条语句,它能增添或删除字段以及约束关系。

给表NewTable增添日期型字段Field3,语句履行前表NewTalbe必须没有字段Field3

ALTER TABLE NewTable ADD COLUMN Field3 DATE;

删除表NewTable中的字段Field3,语句履行前字段Field3必须存在表NewTable中

ALTER TABLE NewTable DROP COLUMN Field3;

给表NewTable增添NewUK约束关系

ALTER TABLE NewTable ADD CONSTRAINT NewUK UNIQUE(Field1,Field2);

删除表NewTable的NewUK约束关系

ALTER TABLE NewTable DROP CONSTRAINT NewUK;

DROP TABLE语句:

删除表NewTable,语句履行前表NewTable必须存在

DROP TABLE NewTable;

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: