• SQL数据库基础(一)


    结构化查询语言简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

    SQL语句结构(结构化查询语言包含六个部分):

    1、数据查询语言(简称DQL):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序中给出。保留字SELECT是DQL(也是所有SQL)中用的最多的动词,其他DQL常用的保留字有WHERE、ORDER BY、GROUP BY和HAVING。这些DQL保留字常和其他的SQL语句一起使用。

    2、数据操作语言(简称DML):其语句包括动词INSERT、UPDATE和DELETE。他们分别用于添加、修改和删除表中的行。也称为动作查询语言。

    3、事物处理语言(简称TPL):它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL的语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。

    4、数据控制语言(简称DCL):它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANK或REVOKE控制对表单个列的访问。

    5、数据定义语言(简称DDL):其语句包括动词CREAT和DROP。在数据库中创建表或者删除表(CREAT TABLE或DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留关键字。它也是动作查询的一部分。

    6、指针控制语言(简称CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE CURRENT用于对一个表或者多个表单独行的操作。

    SQL语法规则:

    1、SQL语句总是以关键字开始;

    2、SQL语句以分号结尾;

    3、SQL不区分大小写,意味着update与UPDATE相同。

    数据库表:

    数据库表通常包含一个或多个表。每个表都用一个名称表示(例如“Customers”或“Orders”)。该表中带有数据行的记录。

    以著名的Northwind示例数据库中的“Customers”表为例:

    CustomerID CustomerName ContactName Address City PostalCode Country
    1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
    2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
    3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
    4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
    5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

    上表中包含5条记录(每一条对应一个客户)和七个列(CustomerID、CustomerName、ConactName、Address、City、PostalCode、Country)

    SQL语句:

    一些重要的SQL命令:

    SELECT :从数据库中提取数据;

    UPDATE :更新数据库中的数据;

    DELETE:从数据库中删除数据;

    INSERT INTO:向数据库中插入新数据;

    CREAT DATABASE:创建新数据库;

    ALTER DATABASE:修改数据库;

    CREAT TABLE:创建新表;

    ALTER TABLE:变更(改变)数据库表;

    DROP TABLE:删除表;

    CREATE INDEX:创建索引;

    DROP INDEX:删除索引;

    用法举例:

     SELECT语句:

    SELECT column_name(s) FROM table_name

    从table_name表中选择column_name(s)列;

    SELECT语句和WHERE子句:

    SELECT [*] FROM [Table_name] WHERE [condition1]

    选择Table_name中满足条件condition1的所有语句;

    SELECT语句与WHERE和/或子句:

    SELECT [*] FROM [table_name] WHERE [condition1] [ANDOR] [condition2]...

    选择table_name中所有满足条件condition1和/或condition2的所有语句;

    SELECT语句与ORDER BY:

    SELECT column_name

    FROM table_name

    ORDER BY column1_name ASC OR DESC

    选择table_name表,根据column1_name列升序或降序对column_name进行排列;

    ASC:升序;DESC:降序;默认按照升序排列

    INSERT INTO 语句:

    INSERT INTO table_name (column1,column2....)

    VALUES (value1,value2...)

    向表table_name中为column1,column2列插入新记录,值为value1,value2;

    表单没有指定要插入数据列的名称时,只提供要插入的值;

    UPDATE语句:

    UPDATE table_name

    SET column=value,column1=value1...

    WHERE someColumn = someValue

    选择table_name表中的someColumn等于someValue的地方的行,设置该column列值为value,column1列值为value1;

    DELETE语句:

    DELETE FROM table_name

    WHERE someColumn = someValue

    删除table_name表中,列someColumn的值为someValue的记录(即表中的行);

    SELECT DISTINCT语句:

    SELECT DISTINCT column1,column2...

    FROM table_name

    选择table_name中的列column1,column2中的不同的值,去除掉其中重复的值;

     NOT语法:

    SELECT column1,column2

    FROM table_name

    WHERE NOT condition;

    选择table_name表中不符合condition条件的column1,column2,,,列;

    注意事项:

    使用IS NULL和IS NOT NULL判断 表中是数值是否为空,而不使用数值运算符判断;

    SQL中UPDATE语句不使用WHERE语句时,即忽略WHERE语句,所有记录都会更新;

    SQL DELETE语句中,省略了WHERE语句,所有记录都会被删除;

  • 相关阅读:
    如何在iTerm2中配置oh my zsh?
    sublime中格式化jsx文件
    ES6 new syntax of Literal
    ES6 new syntax of Rest and Spread Operators
    How to preview html file in our browser at sublime text?
    ES6 new syntax of Default Function Parameters
    ES6 new syntax of Arrow Function
    七牛云2018春招笔试题
    Spring-使用注解开发(十二)
    Spring-声明式事物(十一)
  • 原文地址:https://www.cnblogs.com/liumuz/p/8744583.html
Copyright © 2020-2023  润新知