欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-10 08:42:45
...

本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。 一、



本文对SQL的语法进行了综合性的讲述,无论您是一位SQL的新手或是一位老将,您将都会对SQL有一个大致上的了解,另外,您将能够正确的运用SQL来由数据库中获取信息。虽然要对SQL又很透彻的了解并不是一朝一夕可以完成的,可是对SQL有个基本的了解并不难。


一、表格处理:

表格式数据库中存储资料的基本架构,分为栏位column和列row


CONSTRAINT:限制存入
NOT NULL:不允许空值
UNIQUE:限制每一个栏位中的资料都是不一样的
CHECK:限制保证每一个栏位中的所有资料都符合某些条件。
主键(PrimaryKey):必须确保用来作主键的栏位是设定[NOT NULL]
外来键(ForeignKey):一个或数个指向另外一个表格主键的栏位,目的是确定资料的参考完整性,即只有被允许的资料值才会被存入数据库

组合键:CompositeKey


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:

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(字符串):将字符串结尾的空白移除