从入门到放弃的SQL学习

2019-04-05  本文已影响0人  一个帅气的名字呀

一、什么是SQL

Structure query language,结构化查询语言,是ANSI(Americian National Standard Institute)标准计算机语言,使有能力访问和操作数据库

二、SQL能干什么?

查询、增、删、改、查

三、有哪些需要掌握的专业名词?

1、RDBMS(Relationship datebase manager system,关系型管理系统 ):数据被存在称为“表”的数据库对象中;

2、表是聚合了存在相关性数据项的集合,由行和列组成;

3、RESULT-SET(结果集),用于存放查询的结果

四、分类

SQL语言共分为四大类:数据查询语言DQL(Data query lanague),数据操纵语言DML(Data Manipulation Language, ),数据定义语言DDL(Data Definite Language ),数据控制语言DCL(Data control Language)。

1、DQL-SELECT<字段名表>FROM<表或视图名>WHERE<查询条件>

2、DML-UPDATE(更新)、DELETE(删除)、INSERT(插入)

3、DDL-创建数据库中的对象-表(TABLE)、视图(VIEW)、索引(INDEX)、同义词和聚簇,常用的:CREATE-创建、 ALTER-修改、 DROP-删除

CREATE DATEBASE-创建数据库、ALTER DATEBASE-修改数据库;CREATE TABLE-创建表、ALTER TABLE-修改表、 DROP TABLE-删除表;CREATE INDEX-创建索引、DROP INDEX-删除索引

4、DCL-授予或收回某种权限,控制操作数据库的时间及效果,进而对数据库进行监控-GRANT(授予)、ROLLBACK、COMMIT

五、实例

1、DQL之SELECT语句使用

A、简单选择列

(1)SELECT LASTNAME FROME PERSONS——从persons这个表里获取lastname列的内容

(2)SELECT LASTNAME,FIRSTNAME FROM PERSONS——从persons这个表里获取lastname和firstname列的内容

(3)SLECT * FROME PERSONS——从persons表里获得全部列的内容

B、选择唯一值,DISTINCT

(1)select distinct company from orders

C、有条件筛选,用where语句,select 列名称 from 标名称where条件(=、<>(不等于,也可写成!=)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、betwent(在某个范围内)、like(某种类型))

(1)当条件为文本值时,值要加引号(部分为双引号):

SELECT * FROME  PERSONS WHERE City=‘Beijing’

(2)当条件为数值时(不用加引号):

SELECT * FROME Persons WHERE Year BETWEEN 1975 AND 1980

AND和OR,且及或

SELECT * FROM Persons WHERE City=‘Beijing’AND Firstname=‘Bill’

SELECT * FROME Persons WHERE Firstname=‘John’ OR Lastname=‘Bush’

SELECT * FROME Persons WHERE( Firstname=‘Bill’ OR Lastname=‘Cater’) AND City=‘Beijing

4、排序ORDER BY,默认升序,升序为ASC,若要降序则为DESC

(1)以字母顺序正序显示公司名称

 SELECT * FROME Orders ORDER BY Company

(2)以字母逆序显示公司名称

SELECT * FROME Orders ORDER BY Company DESC

(3)以字母顺序正序显示公司名称且以升序排列顺序号

SELECT * FROME Orders ORDER BY Company , OrderNumber

(4)以字母顺序正序显示公司名称且以降序排列顺序号

SELECT * FROME Orders ORDER BY Company ASC,  OrderNumber DESC

2、DML

1、SQL INSERT INTO—向表中插入行

INSERT INTO 表名称 (列名1,列名2...) VALUES(值1,值2...)

(1)在表中插入列值为(值1,值2...)的行

          INSERT INTO 表名称 VALUES (值1, 值2,….)

          EG:INSERT INTO Persons VALUES('Gates', 'Bill', 'Xuanwumen 10', 'Beijing’)

(2)在表中固定的列中插入列值为(值1,值2…)

INSERT INTO 表名称 (列名1,列名2...) VALUES(值1,值2...)

EG:INSERT INTO Persons(Lastname, Firstname) VALUES(Wilson ,Champs-Elysees )

2、SQL UPDATE—向表中修改行

UPDATE 表名称 SET 列名1=新值1,列名2=新值2 WHERE 列名3=某值

(1)为表中某一行的某一列增加值

UPDATE Person SET FirstName=‘Fred’ WHERE LastName=‘wilson'

(2)为表中某一行的某几列增加值

    UPDATE Person SET FirstName=‘Fred’,Address=‘Zhongshan 23’,City=‘Nanjing' WHERE    LasName=‘Wilson’

3、SQL DELETE—向表中删除行

删除某行:DELECT FROME 表名称 WHERE 列名称=值

删除全部行:DELECT FORME 表名称 或 DELECT * FORME 表名称

(1)DELETE FROM Person WHERE LastName = ‘Wilson’

(2)删除全部行

DELETE FROM Person 或者 DELETE * FROM Person

六、问题:

1、是语句中所有元素之间都需要加空格么?包括词语之间、词语和符号之间、符号和符号之间?

2、排序正序的时候ASC必须写么?不是默认是升序的么?

3、数据库到底是什么样的?SQL语言在哪写?在哪执行啊?

4、只能删、改、查表中的行么?

5、什么时候用括号,什么时候用“,”?

上一篇下一篇

猜你喜欢

热点阅读