zoukankan      html  css  js  c++  java
  • 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语句,所有记录都会被删除;

  • 相关阅读:
    手把手教 从0开始搭建vue 脚手架项目
    利用vue.config.js 配置前端模拟接口技巧
    elementUI 穿梭框应用
    process.env.VUE_APP_BASE_API
    springcloud-Eureka组件
    mysql-常用组件之触发器
    mysql-常用组件之定时器
    springboot-整合多数据源配置
    【搞定面试官】- Synchronized如何实现同步?锁优化?(1)
    【搞定面试官】try中有return,finally还会执行吗?
  • 原文地址:https://www.cnblogs.com/liumuz/p/8744583.html
Copyright © 2011-2022 走看看