一、什么是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、什么时候用括号,什么时候用“,”?
网友评论