一、建立表格
Sql使用create table语句创建数据库表:
create table 表名称(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
…
);
常见的数据类型有:
1、integer(size),int(size),smallint(size),tinyint(size):仅容纳整数。在括号内规定数字的最大位数;
2、decimal(size, d),numeric(size,d):容纳带有小数的数字。”size”规定数字的最大位数,”d”规定小数点右侧的最大位数;
3、char(size):容纳固定长度的字符串,括号内规定字符串长度;
4、varchar(size):容纳可变长度的字符串,在括号内规定字符串的最大长度;
5、date(yyyymmdd):容纳日期。
注意:这几个只是最常用的几种类型,其实sql支持的数据类型还有很多!
参考:http://www.w3school.com.cn/sql/sql_create_table.asp
二、alter table语句
在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变。常见的改变如下:
• 加一个栏位
• 删去一个栏位
• 改变栏位名称
• 改变栏位的资料种类
以上列出的改变并不是所有可能的改变。ALTERTABLE 也可以被用来作其他的改变,例如改变主键定义。ALTERTABLE 的语法如下:
ALTERTABLE "table_name"[改变方式]
[改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:
• 加一个栏位: ADD "栏位 1" "栏位 1 资料种类"
• 删去一个栏位: DROP "栏位 1"
• 改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"
• 改变栏位的资料种类: MODIFY "栏位 1" "新资料种类"
为了说明alter table的用法,我们先新建一个customer数据库表
Create table customer(
First_name char(50),
Last_name char(50),
Addresschar(50),
Citychar(50),
Countrychar(50),
Birthday date
);
首先,我们要加入一个叫做 "gender" 的栏位。这可以用以下的指令达成:
ALTER table customeradd Gender char(1) 注意:我们可以使用desc customer查看表格信息
接下来,我们要把 "Address" 栏位改名为 "Addr"。这可以用以下的指令达成:
ALTER table customerchange Address Addr char(50)
再来,我们要将 "Addr" 栏位的资料种类改为 char(30)。这可以用以下的指令达成:
ALTER table customermodify Addr char(30)
最后,我们要删除 "Gender" 栏位。这可以用以下的指令达成:
ALTER table customerdrop Gender
三、insert into语句
我们有两种作法可以将资料输入表格中内。一种是一次输入一笔,另一种是一次输入好几笔。我们先来看一次输入一笔的方式。
我们先介绍语法,一次输入一笔资料的语法如下:
INSERTINTO "表格名" ("栏位1", "栏位2", ...) VALUES ("值1", "值2", ...)
第二种 INSERT INTO 能够让我们一次输入多笔的资料。跟上面刚的例子不同的是,现在我们要用 SELECT 指令来指明要输入表格的资料,也就说资料是从另一个表格来的。一次输入多笔的资料的语法是:
INSERT INTO "表格1" ("栏位1", "栏位2", ...) SELECT "栏位3", "栏位4", ... FROM "表格2"
四、主键、外键
主键 (Primary Key) 中的每一笔资料都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。主键可以是原本资料内的一个栏位,或是一个人造栏位 (与原本资料没有关系的栏位)。主键可以包含一或多个栏位。当主键包含多个栏位时,称为组合键 (Composite Key)。主键可以在建置新表格时设定 (运用 CREATETABLE 语句),或是以改变现有的表格架构方式设定 (运用ALTERTABLE)。
例如在mysql中使用的语法为:
CREATE TABLECustomer(
SID integer,
Last_Namevarchar(30),
First_Namevarchar(30),
PRIMARY KEY (SID)
);
改变现有表格架构来设定主键的方式为:
ALTER TABLECustomer ADD PRIMARY KEY (SID);
外来键是一个(或数个)指向另外一个表格主键的栏位。外来键的目的是确定资料的参考完整性(referentialintegrity)。换言之,只有被准许的资料值才会被存入资料库内。
举例来说,假设我们有两个表格:一个 CUSTOMER 表格,里面记录了所有顾客的资料;另一个 ORDERS 表格,里面记录了所有顾客订购的资料。在这里的一个限制,就是所有的订购资料中的顾客,都一定是要跟在 CUSTOMER 表格中存在。在这里,我们就会在 ORDERS 表格中设定一个外来键,而这个外来键是指向 CUSTOMER表格中的主键。这样一来,我们就可以确定所有在 ORDERS 表格中的顾客都存在CUSTOMER 表格中。换句话说,ORDERS表格之中,不能有任何顾客是不存在于 CUSTOMER 表格中的资料。
Customer表的结构已经在上文中提到,现在我们写一下orders表:
CREATE TABLE ORDERS(
Order_ID integer,
Order_Date date,
Customer_SIDinteger,
Amount double,
Primary Key(Order_ID),
Foreign Key (Customer_SID) referencesCUSTOMER(SID)
);
当然,也可以用alter table命令修改外键:
ALTER TABLE ORDERSADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
五、droptable、truncate table
删除一个数据库表:DROP TABLE "表格名"
清除表格资料:TRUNCATE TABLE "表格名"

被折叠的 条评论
为什么被折叠?



