步入“数据库”的礼堂――SQL数据库基本功:语句教程(一)

2014-11-24 13:31:00 · 作者: · 浏览: 2

步入“ 数据库”的礼堂——SQL数据库基本功:语句教程
本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。
一,表格处理:表格式数据库中存储资料的基本架构,分为栏位column和列row
CONSTRAINT:限制存入
NOT NULL:不允许空值
UNIQUE:限制每一个栏位中的资料都是不一样的
CHECK:限制保证每一个栏位中的所有资料都是夫恶化某些条件。
主键(PrimaryKey):必须确保用来作主键的栏位是设定[NOT NULL]
外来键(ForeignKey):一个或数个指向另外一个表格主键的栏位,目的是确定资料的参考完整性,即只有被允许的资料值才会被存入数据库
组合键:CompositeKey
www.2cto.com
CREATE TABLE:对表格下定义时,需要对每一栏位的资料种类下定义
CREATE TABLE ”表格名”(”栏位1”“栏位1 资料种类” ,”栏位2 ““栏位2 资料种类”……)
CREATE TABLE “表格名” (“栏位1” “栏位1 资料种类”) REFERENCE CUSTOMER(栏位1)
ALTER TABLE “表格名1 ‘ ADD FOREIGN KEY (表格名1的栏位名) REFERENCE CUSTOMER(表格2的栏位名)
CREATE TABLE 表格名 (“栏位1 ““栏位1 资料种类” Primary Key)
ALTER TABLE 表格名 ADD PRIMARY KEY(“栏位1”)
CREATE VIEW:视图可用于连接两个表格,便于找出所需信息,视图是虚拟表格,是建立在表格之上的一种架构,本身并不实际存储资料。
CREATE VIEW “视图名” as “SQL语句”
CREATE INDEX:快速查找所需资料,利于 系统效率.索引命名可在名称前加一个首字母,或者表格名及栏位名
CREATE INDEX “索引名” ON “表格名” (COLUMN NAME)
ALTER TABLE:
增加一个栏位: ADD “栏位1 ““栏位1 资料种类”
删去一个栏位: DROP “栏位1”
改变栏位名称: CHANGE “原本栏位名”“新栏位名”“新栏位资料种类”
改变栏位资料种类: MODIFY“栏位1”“新资料种类”
DROP TABLE:从数据库清除一个表格
DROP TABLE “表格名”
www.2cto.com
TRUNCATE TABLE:从数据库清除一个表格中的所有资料,但是表格本身继续存在
TRUNCATE TABLE”表格名”
INSERT INTO:一次性输入多笔资料,SELECT指令将表格2 中的资料输入到表格1
INSERT INTO “表格名”(”栏位1”,”栏位2”,……) VALUES (”值1”,”值2”,……)
INSERT INTO “表格1”(”栏位1”,”栏位2”,……) SELECT “栏位3”,”栏位4”,……FROM “表格2”
UPDATE修改表中的资料:
UPDATE “表格名” SET “栏位1”=[新值] WHERE {条件}
DELETE FROM:由数据库中去除一些资料
DELETE FROM”表格名” WHERE {条件}
二,Sql指令:SQL如何被用来存储,读取,以及处理数据之中的资料。
1,SELECT :
SELECT “栏目名” FROM “表格名”
2,DISTINCT:排除相同点的值
SELECT DISTINCT “栏位名” FROM”表格名”
www.2cto.com
3,WHERE:有条件的选取资料
SELECT “栏位名” FROM ”表格名” WHERE “条件”
4,AND /OR:复杂条件的连接
SELECT “栏位名” FROM ”表格名” WHERE “简单条件” {[AND /OR] “简单条件”}+
5,IN:限定范围内选取资料
SELECT “栏位名” FROM ”表格名” WHERE “栏位名” IN (’值一’,’值二’,……)
WHERE “栏位名” =‘值一’
6,BETWEEN:限定范围内选取资料
SELECT “栏位名” FROM ”表格名” WHERE“栏位名” BETWEEN ‘值一’AND ‘值2’
7,LIKE:模式匹配
SELECT “栏位名” FROM ”表格名” WHERE “栏位名” like {模式}
a)A_Z:表示所有以A开头,另一个人一致的字源,且以Z结尾的字符。
b)ABC%:表示所有以ABC为开头的字符串
c)%AN%:表示所有含有AN这个模式的字符串
8,ORDER BY:对抓出的资料有系统显示,升序或降序
SELECT “栏目名” form “表格名” WHERE “条件”ORDER BY “栏目名” [ASC/DESC] ORDER BY “栏位1”[ASC/DESC],”栏位2”[ASC/DESC]
9,函数:
数字运算:AVG(平均),COUNT(计数),MAX(最大值),MIN(最小值),SUM(总合)
数学运算:加+,减-
文字类:文字相连CONCATENATION,文字修饰TRIM,字符串substring
10,GROUP BY:至少有一个栏位包含函数运算时,需用此指令
SELECT “栏位1”,SUM(“栏位2”) FROM ”表格名” GROUP BY “栏位1”
11,HAVING:对函数产生的值产生设定条件
SELECT “栏位1”,SUM(“栏位2”) FROM ”表格名” GROUP BY “栏位1” HAVING (函数条件)
12,ALIAS:别名,表格别名或栏目别名,一般别名放在要替代的物件背后,中间一个空格分开。
SELECT “表格别名”.”栏位1” “栏位别名” FROM ”表格名” “表格别名”
www.2cto.com
13,表格链接:
a)外部链接OUTER JION:两表不一定有联系。在WHERE子句要选出所有资料的那个表之后加上一个+,来代表表格内的资料我们都要的。
b)内部链接INNER JION:即左连接LEFT JION 当两表中都有相同值时,才会被选出。
14,
CONCATENATE:将不同栏位获得的资料串联在一起。+
SUBSTRING:用来抓出一个栏位资料中的其中一部分。
TRIM:除掉一个字符串的字头或字尾,常见于移除字首或字尾的空白
15,TRIM([[位置][要移除的字符串]FROM] 字符串):
[位置]可能值:lea