步入“数据库”的礼堂SQL数据库基本功 :语句教程
程序员文章站
2022-05-10 08:42:45
...
本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。 一、
本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。
表格式数据库中存储资料的基本架构,分为栏位column和列row
NOT NULL:不允许空值
UNIQUE:限制每一个栏位中的资料都是不一样的
CHECK:限制保证每一个栏位中的所有资料都符合某些条件。
主键(PrimaryKey):必须确保用来作主键的栏位是设定[NOT NULL]
外来键(ForeignKey):一个或数个指向另外一个表格主键的栏位,目的是确定资料的参考完整性,即只有被允许的资料值才会被存入数据库
组合键:CompositeKey
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 “视图名” as “SQL语句”
CREATE INDEX:快速查找所需资料,利于系统效率.索引命名可在名称前加一个首字母,或者表格名及栏位名
CREATE INDEX “索引名” ON “表格名” (COLUMN NAME)
ALTER TABLE:
a)增加一个栏位:ADD “栏位1 ““栏位1 资料种类”
b)删去一个栏位:
DROP “栏位1”c)改变栏位名称:
CHANGE “原本栏位名”“新栏位名”“新栏位资料种类”d)改变栏位资料种类:
MODIFY“栏位1”“新资料种类”DROP TABLE:从数据库清除一个表格
DROP TABLE “表格名”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”表格名”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 ”表格名” “表格别名”13,表格链接:
a)外部链接OUTER JION:两表不一定有联系。在WHERE子句要选出所有资料的那个表之后加上一个+,来代表表格内的资料我们都要的。
b)内部链接INNER JION:即左连接LEFT JION 当两表中都有相同值时,才会被选出。
14,
CONCATENATE:将不同栏位获得的资料串联在一起。+
SUBSTRING:用来抓出一个栏位资料中的其中一部分。
15,TRIM:除掉一个字符串的字头或字尾,常见于移除字首或字尾的空白
TRIM([[位置][要移除的字符串]FROM] 字符串)[位置]可能值:leading起头,traling结尾,both起头及结尾
a)LTrim(字符串):将字符串起头的空白移除
b)RTrim(字符串):将字符串结尾的空白移除