SQL数据库学习——w3Cschool

来源:互联网 发布:莫扎特圆号协奏曲软件 编辑:程序博客网 时间:2024/06/17 15:34

    • 简介
      • SQL数据库是什么
      • SQL语句结构
      • SQL数据类型
    • SQL简介
      • SQL 是什么
      • 在您的网站中使用 SQL
      • RDBMS
      • SQL语句后面的分号
      • 一些重要的SQL命令
      • SQL SELECT语句
        • 语法
      • SQL SELECT DISTINCT 语句
        • 语法
      • SQL Where 子句
        • 语法
        • WHERE子句中的运算符
      • SQL AND OR 运算符
        • AND运算符实例
        • OR运算符实例
        • 结合AND OR
      • SQL ORDER BY关键字
        • 语法
        • 实例
        • 实例DESC
        • 实例ORDER BY Several Columns
      • SQL INSERT INTO语句
        • 语法
      • SQL UPDATE语句
        • 语法
      • SQL DELETE 语句
        • 语法
      • SQL LIKE 操作符
        • 语法
        • 实例
          • 选取 City 以字母 s 开始的所有客户
          • 选取 City 以字母 s 结尾的所有客户
          • 选取 Country 不包含模式 land 的所有客户
      • SQL 通配符
        • 通配符
    • 通配符 描述 代替0个或者多个字符 _ 代替一个字符 charlist 字符列中的任意单一字符 charlist or charlist 不在字符列中的任何单一字符
        • SQL通配符
          • 选取 取 City 以字母 ber 开始的所有客户
          • 选取 City 包含模式 es 的所有客户
        • 用 SQL charlist 通配符
          • 选取 City 以 bs 或 p 开始的所有客户
          • 选取 City 以 ab 或 c 开始的所有客户
          • SQL 语句选取 City 不以 bs 或 p 开始的所有客户
        • SQL _ 通配符
          • 选取 City 以一个任意字符开始然后是 erlin 的所有客户
          • 下面的 SQL 语句选取 City 以 L 开始然后是一个任意字符然后是 n然后是一个任意字符然后是 on 的所有客户

简介

SQL数据库是什么?

  结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL语句结构

结构化查询语言包含6个部分:

  • 数据查询语言(DQL)
    其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用
  • 数据操作语言(DML)
    其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
  • 事务处理语言(TPL)
    它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK
  • 数据控制语言(DCL)
    它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
  • 数据定义语言(DDL)
    其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
  • 指针控制语言(CCL)
    它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

    SQL数据类型

  • 字符型
    VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符 。VARCHAR会将字符串后面多余的空格删去。
    当建立自己的站点时,不需要为剪掉你数据中多余的空格而操心。
    VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。

  • 文本型
    使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。
    注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。//一个文本型字段中的数据通常要么为空,要么很大。
    但是,无论何时,只要你能避免使用文本型字段,你就应该不使用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。
    一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。

  • 数值型(整数INT、小数NUMERIC、钱数MONEY)
    MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。
    SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替MONEY型数据,以节省空间。
  • 逻辑型
  • 如果你使用复选框(CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。
    注意:在你创建好一个表之后,你不能向表中添加 BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。

  • 日期型(DATETIME 和 SMALLDATETIME)
    一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。
    DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。
    (DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。)

SQL简介

SQL 是用于访问和处理数据库的标准的计算机语言。

SQL 是什么?

  • SQL,指结构化查询语言,全称是 Structured Query Language。
  • SQL 让您可以访问和处理数据库。
  • SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。

在您的网站中使用 SQL

要创建一个显示数据库中数据的网站,您需要:
- RDBMS 数据库程序(比如 MS Access、SQL - Server、MySQL)
- 使用服务器端脚本语言,比如 PHP 或 ASP
- 使用 SQL 来获取您想要的数据
- 使用 HTML / CSS

RDBMS

RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。
RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
RDBMS 中的数据存储在被称为表的数据库对象中。
表是相关的数据项的集合,它由列和行组成。


SQL语句后面的分号

某些数据库系统要求在每条SQL语句的末端使用分号。

分号是在数据库系统中分隔语句的标准方法,这样可以在对服务器的相同请求中执行一条以上的SQL语句。


一些重要的SQL命令

  • SELECT - 从数据库中提取数据
  • UPDATE - 更新数据库中的数据
  • DELETE - 从数据库中删除数据
  • INSERT INTO - 向数据库中插入新数据
  • CREATE DATABASE - 创建新数据库
  • * ALTER DATABASE* - 修改数据库
  • CRATE TABLE - 创建新表
  • ALTER TABLR - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

SQL SELECT语句

SELECT 语句用于从数据库中选取数据。
结果被存储在一个结果表中,称为结果集

语法

SELECT column_name,column_nameFROM table_name;

SELECT * FROM table_name;

SQL SELECT DISTINCT 语句

SELECT DISTINCT用于返回唯一不同的值。

语法

SELECT DISTINCT column_name,column_nameFROM table_name;

SQL Where 子句

WHERE 子句用于过滤记录,提取那些满足指定标准的记录。

语法

SELECT column_name,column_nameFROM table_nameWHERE column_name operator value;

SELECT * FROM table_nameWHERE value;

ps: SQL使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
如果是数值字段,不要使用引号。

SELECT * FROM CustomersWHERE CustomerID=1;SELECT * FROM CustomersWHERE Country='Mexico';

WHERE子句中的运算符

下面的运算符可以在WHERE子句中使用:

运算符 描述 = 等于 <> 不等于(在SQL的一些版本中,也可写!=) > 大于 < 小于 >= 大于等于 <= 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种格式 IN 指定针对某个列的多个可能值

SQL AND $ OR 运算符

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

AND运算符实例

下面的 SQL 语句从 “Customers” 表中选取国家为 “Germany” 且城市为 “Berlin” 的所有客户:

SELECT * FROM CustomersWHERE Country = 'Germany'AND City = 'Berlin';

OR运算符实例

下面的 SQL 语句从 “Customers” 表中选取城市为 “Berlin” 或者 “München” 的所有客户:

SELECT * FROM CustomersWHERE City = 'Berlin'OR city = 'München';

结合AND & OR

下面的 SQL 语句从 “Customers” 表中选取国家为 “Germany” 且城市为 “Berlin” 或者 “München” 的所有客户:

SELECT * FROM CustomersWHERE Country = 'Germany'AND (City = 'Berlin' OR City = 'München');

SQL ORDER BY关键字

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

语法

SELECT column_name,column_nameFROM table_nameORDER BY column_name,column_name ASC|DESC

实例

从 “Customers” 表中选取所有客户,并按照 “Country” 列排序:

SELECT * FROM CustomersORDER BY Country;

实例(DESC)

SELECT * FROM CustomersORDER BY Country DESC;

实例(ORDER BY Several Columns )

SELECT * FROM Customers
ORDER BY Country,CustomerName;


SQL INSERT INTO语句

用于向表中插入新纪录

语法

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_nameVALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name(column1,column2,column3,...)VALUES (value1,value2,value3,...)

SQL UPDATE语句

UPDATE语句用于更新表中的记录。

语法

UPDATE table_nameSET column1=value1,column2=value2,...WHERE some_column=some_value;

SQL DELETE 语句

删除表中的行。

语法

DELETE FROM table_nameWHERE some_column=some_value;

SQL LIKE 操作符

用于在WHERE子句中搜索列中的指定模式。

语法

SELECT column_name(s)FROM table_nameWHERE column_name LIKE pattern;

实例

选取 City 以字母 “s” 开始的所有客户
SELECT * FROM CustomersWHERE City LIKE 's%';

PS:”%” 符号用于在模式的前后定义通配符(缺省字母)。

选取 City 以字母 “s” 结尾的所有客户
SELECT * FROM CustomersWHERE City LIKE '%s';

通过NOT关键字,你可以选取不匹配模式的记录。

选取 Country 不包含模式 “land” 的所有客户
SELECT * FROM CustomersWHERE Country NOT LIKE '%land%';

SQL 通配符

可代替字符串中的任何其他字符。
在SQL 中,通配符与 SQL LIKE 操作符一起使用。
SQL 通配符用于搜索表中的数据

通配符

通配符 描述 % 代替0个或者多个字符 _ 代替一个字符 [charlist] 字符列中的任意单一字符 [^charlist] or [!charlist] 不在字符列中的任何单一字符

SQL通配符

选取 取 City 以字母 “ber” 开始的所有客户
SELECT * FROM CustomersWHERE City LIKE 'ber%';
选取 City 包含模式 “es” 的所有客户
SELECT * FROM CustomersWHERE City LIKE '%es%';

用 SQL [charlist] 通配符

选取 City 以 “b”、”s” 或 “p” 开始的所有客户
SELECT * FROM CustomersWHERE City LIKE '[bsp]%';
选取 City 以 “a”、”b” 或 “c” 开始的所有客户
SELECT * FROM CustomersWHERE City LIKE '[a-c]%';
SQL 语句选取 City 不以 “b”、”s” 或 “p” 开始的所有客户
SELECT * FROM CustomersWHERE City LIKE '[!bsp]%';

SQL _ 通配符

选取 City 以一个任意字符开始,然后是 “erlin” 的所有客户
SELECT * FROM CustomersWHERE City LIKE '_erlin';
下面的 SQL 语句选取 City 以 “L” 开始,然后是一个任意字符,然后是 “n”,然后是一个任意字符,然后是 “on” 的所有客户
SELECT * FROM CustomersWHERE City LIKE 'L_n_on';
原创粉丝点击