从入门到放弃的SQL学习

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习web安全足足有一个半月有余,之前学的是前端,也会一点python。。好吧差不多忘了。常规工具算是熟悉基本...
    一叶红尘哦哟阅读 3,409评论 4 92
  • 2017/3/14 RDBMS:关系型数据库管理系统 关系模型独立于语言 SQL有几种不同类型的语言:数据定义语言...
    ancherl阅读 1,659评论 0 6
  • SQL 高级 01 SQL 高级 02 CREATE INDEX 语句用于在表中创建索引。 在不读取整个表的情况下...
    鹿守心畔光阅读 569评论 0 1
  • SQL 是用于访问和处理数据库的标准的计算机语言。 什么是 SQL? SQL 指结构化查询语言SQL 使我们有能力...
    鹿守心畔光阅读 691评论 0 0
  • 自古看戏的多,上台演戏的少,不是因为人不愿意,而是因为这事需要一点天分和努力,不行就是上去砸场子,观众看了也是喝倒...
    许你故作姿态阅读 1,382评论 0 3