zoukankan      html  css  js  c++  java
  • sql基础篇

    再跟SQL谈一谈--基础篇

     

    1.简介

    2.DDL & DML

    3.SELECT

      ①DISTINCT

      ②WHERE

      ③AND & OR

      ④ORDER BY

    4.INSERT

    5.UPDATE

    6.DELETE


    1.简介

    什么是 SQL?

    • SQL 指结构化查询语言
    • SQL 使我们有能力访问数据库
    • SQL 是一种 ANSI 的标准计算机语言

    SQL 能做什么?

    • SQL 面向数据库执行查询
    • SQL 可从数据库取回数据
    • SQL 可在数据库中插入新的纪录
    • SQL 可更新数据库中的数据
    • SQL 可从数据库删除记录
    • SQL 可创建新数据库
    • SQL 可在数据库中创建新表
    • SQL 可在数据库中创建存储过程
    • SQL 可在数据库中创建视图
    • SQL 可以设置表、存储过程和视图的权限

    RDBMS

      RDBMS 指的是关系型数据库管理系统。

      RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。

      RDBMS 中的数据存储在被称为表(tables)的数据库对象中。

      表是相关的数据项的集合,它由列和行组成。


    2.DDL & DML

    可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

    SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

    查询和更新指令构成了 SQL 的 DML 部分:

    • SELECT - 从数据库表中获取数据
    • UPDATE - 更新数据库表中的数据
    • DELETE - 从数据库表中删除数据
    • INSERT INTO - 向数据库表中插入数据

    SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

    SQL 中最重要的 DDL 语句:

    • CREATE DATABASE - 创建新数据库
    • ALTER DATABASE - 修改数据库
    • CREATE TABLE - 创建新表
    • ALTER TABLE - 变更(改变)数据库表
    • DROP TABLE - 删除表
    • CREATE INDEX - 创建索引(搜索键)
    • DROP INDEX - 删除索引

    3.SELECT

    语法: A ⇒ SELECT 列名称 FROM 表名称  

             B ⇒  SELECT * FROM 表名称

    IdLastNameFirstNameAddressCity
    1 Adams John Oxford Street London
    2 Bush George Fifth Avenue New York
    3 Carter Thomas Changan Street Beijing

    A例:SELECT LastName,FirstName FROM Persons

    LastNameFirstName
    Adams John
    Bush George
    Carter Thomas

    B例:SELECT * FROM Persons

    IdLastNameFirstNameAddressCity
    1 Adams John Oxford Street London
    2 Bush George Fifth Avenue New York
    3 Carter Thomas Changan Street Beijing

    ①DISTINCT

    语法:  SELECT DISTINCT 列名称 FROM 表名称

    例:

    CompanyOrderNumber
    IBM 3532
    W3CSchool 2356
    Apple 4698
    W3CSchool 6953

    SELECT Company FROM Orders 

    Company
    IBM
    W3CSchool
    Apple
    W3CSchool

    ②WHERE

    語法: SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

    操作符描述
    = 等于
    <> 不等于
    > 大于
    < 小于
    >= 大于等于
    <= 小于等于
    BETWEEN 在某个范围内
    LIKE 搜索某种模式

    例:

    LastNameFirstNameAddressCityYear
    Adams John Oxford Street London 1970
    Bush George Fifth Avenue New York 1975
    Carter Thomas Changan Street Beijing 1980
    Gates Bill Xuanwumen 10 Beijing 1985

    SELECT * FROM Persons WHERE City='Beijing'

    LastNameFirstNameAddressCityYear
    Carter Thomas Changan Street Beijing 1980
    Gates Bill Xuanwumen 10 Beijing 1985

    ③AND & OR

    AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。

    AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

    如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

    如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

    LastNameFirstNameAddressCity
    Adams John Oxford Street London
    Bush George Fifth Avenue New York
    Carter Thomas Changan Street Beijing
    Carter William Xuanwumen 10 Beijing

    AND 运算符实例: SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

    LastNameFirstNameAddressCity
    Carter Thomas Changan Street Beijing

    OR 运算符实例: SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

    LastNameFirstNameAddressCity
    Carter Thomas Changan Street Beijing
    Carter William Xuanwumen 10 Beijing

    结合 AND 和 OR 运算符: SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William'AND LastName='Carter'

    LastNameFirstNameAddressCity
    Carter Thomas Changan Street Beijing
    Carter William Xuanwumen 10 Beijing

    ④ORDER BY

    ORDER BY 语句用于对结果集进行排序。

    ORDER BY 语句用于根据指定的列对结果集进行排序。

    ORDER BY 语句默认按照升序对记录进行排序。

    如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

    CompanyOrderNumber
    IBM 3532
    W3CSchool 2356
    Apple 4698
    W3CSchool 6953

    SELECT Company, OrderNumber FROM Orders ORDER BY Company

    CompanyOrderNumber
    Apple 4698
    IBM 3532
    W3CSchool 6953
    W3CSchool 2356

    SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

    CompanyOrderNumber
    W3CSchool 6953
    W3CSchool 2356
    IBM 3532
    Apple 4698

    SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

    CompanyOrderNumber
    W3CSchool 2356
    W3CSchool 6953
    IBM 3532
    Apple 4698

    4.INSERT

    语法: INSERT INTO 表名称 VALUES (值1, 值2,....)

         INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

    LastNameFirstNameAddressCity
    Carter Thomas Changan Street Beijing

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

    LastNameFirstNameAddressCity
    Carter Thomas Changan Street Beijing
    Gates Bill Xuanwumen 10 Beijing
    LastNameFirstNameAddressCity
    Carter Thomas Changan Street Beijing
    Gates Bill Xuanwumen 10 Beijing

     ↓

    INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

    LastNameFirstNameAddressCity
    Carter Thomas Changan Street Beijing
    Gates Bill Xuanwumen 10 Beijing
    Wilson   Champs-Elysees  

    5.UPDATE

    語法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

    LastNameFirstNameAddressCity
    Gates Bill Xuanwumen 10 Beijing
    Wilson   Champs-Elysees  

    UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

    LastNameFirstNameAddressCity
    Gates Bill Xuanwumen 10 Beijing
    Wilson Fred Champs-Elysees  

    UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'

    LastNameFirstNameAddressCity
    Gates Bill Xuanwumen 10 Beijing
    Wilson Fred Zhongshan 23 Nanjing

    6.DELETE

    語法: DELETE FROM 表名称 WHERE 列名称 = 值

    LastNameFirstNameAddressCity
    Gates Bill Xuanwumen 10 Beijing
    Wilson Fred Zhongshan 23 Nanjing

    DELETE FROM Person WHERE LastName = 'Wilson'

    LastNameFirstNameAddressCity
    Gates Bill Xuanwumen 10 Beijing

    删除所有行: DELETE FROM table_name

              DELETE * FROM table_name

  • 相关阅读:
    xml和web Server以及Remoting
    web窗体的基本控件
    迭代器
    .net 细节问题
    Linq笔记
    .net基础概念理解
    Gridview 和DetailsView FormView细节注意
    .net 基础学习(vs2008 3.5框架)
    一、多线程基础
    CentOS 7和SpringBoot下的Redis配置
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3301561.html
Copyright © 2011-2022 走看看