美文网首页
从入门到放弃的SQL学习

从入门到放弃的SQL学习

作者: 一个帅气的名字呀 | 来源:发表于2019-04-05 16:37 被阅读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、什么时候用括号,什么时候用“,”?

    相关文章

      网友评论

          本文标题:从入门到放弃的SQL学习

          本文链接:https://www.haomeiwen.com/subject/cnihiqtx.html