Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20314
  • 博文数量: 5
  • 博客积分: 191
  • 博客等级: 入伍新兵
  • 技术积分: 56
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-04 21:59
文章分类

全部博文(5)

文章存档

2015年(1)

2014年(1)

2012年(3)

我的朋友

分类: Mysql/postgreSQL

2012-09-27 10:49:12

SQL是什么?

SQL是结构化查询语言,是一种计算机语言,存储,处理和检索存储在关系数据库中的数据。

SQL是关系型数据库系统的标准语言。所有关系数据库管理系统,如MySQL,MS-ACCESS,Oracle,SYBASE,Informix,Postgres和SQL服务器使用SQL标准的数据库语言。

此外,他们使用的是不同的方言,如:

  • MS-SQL 服务T-SQL,

  • Oracle 使用PL/SQL,

  • MS Access 的SQL是被JET SQL (native format )调用

为什么是SQL?
  • 允许用户访问关系数据库管理系统中的数据。

  • 允许用户对数据进行描述。

  • 允许用户定义数据库中的数据和操作这些数据。

  • 允许嵌入其他语言中,使用SQL模块,库和预编译器。

  • 允许用户创建和删除数据库和表。

  • 允许用户创建视图,存储过程,在数据库中的功能。

  • 允许用户设置权限表,过程和视图

RDBMS是什么?

RDBMS代表关系数据库管理系统。 RDBMS是SQL基础,并为所有现代数据库系统如MS SQL Server,IBM DB2,甲骨文,MySQL的,和Microsoft Access。

一个关系数据库管理系统(RDBMS)是一个数据库管理系统(DBMS)的基础上推出由EF Codd的关系模型。

表是什么 ?

在RDBMS的数据存储在被称为表的数据库对象。该表是相关的数据项的集合,它由列和行组成。

请记住,表中的数据存储在关系数据库中,是最常见的和最简单的形式。

字段是什么?

每个表被分解成更小的实体称为字段。 CUSTOMERS表中的字段包括ID,姓名,年龄,地址和薪水(SALARY)。

字段是表中的列,目的是维护表中的每一条记录的具体信息。

记录或行是什么?

记录也称为行数据,是每一个单独的项目中存在一个表中。例如,在上面的CUSTOMERS表中有7条记录。

表中的记录是水平的实体。

列是什么?

列是垂直的实体在一个表,包含所有相关的信息与特定的表中的字段。

NULL值是什么?

一个NULL在表中的值是空白的,这意味着一个NULL值的字段的字段没有值的字段中的值。

这是非常重要的是要了解的是一个NULL值是不同的,不是一个零值或字段中包含空格。一个NULL值的字段是空白的记录创建过程中。

SQL约束:

约束是执行规则的数据表中的列。这些是用来限制可以去到一个表中的数据的类型。这确保了在数据库中的数据的准确性和可靠性。

约束上可能是列级或表级。仅适用于表级约束被应用到整个表的一列列级约束。

SQL语法:

SQL后面是唯一的一组称为语法规则和准则。本教程为您提供了一个快速启动SQL列出的所有基本的SQL语法:

所有的SQL语句从关键字开始,如SELECT,INSERT,UPDATE,DELETE,ALTER,DROP,CREATE,USE,SHOW,所有的陈述结束用分号(;)。

重要的一点要注意的是,SQL是不区分大小写的,这意味着选择在SQL语句中,选择具有相同的意义,但MySQL的表名不同。所以如果你使用MySQL,那么需要给它们存在于数据库中的表名称。

SQL SELECT 语句:SELECT column1, column2....columnN FROM table_name; SQL DISTINCT 子句:SELECT DISTINCT column1, column2....columnN FROM table_name; SQL WHERE 子句:SELECT column1, column2....columnN FROM table_name WHERE CONDITION; SQL AND/OR 子句:SELECT column1, column2....columnN FROM table_name WHERE CONDITION-1 {AND|OR} CONDITION-2; SQL IN 子句:SELECT column1, column2....columnN FROM table_name WHERE column_name IN (val-1, val-2,...val-N); SQL BETWEEN 子句:SELECT column1, column2....columnN FROM table_name WHERE column_name BETWEEN val-1 AND val-2; SQL Like 子句:SELECT column1, column2....columnN FROM table_name WHERE column_name LIKE { PATTERN }; SQL ORDER BY Clause:SELECT column1, column2....columnN FROM table_name WHERE CONDITION ORDER BY column_name {ASC|DESC}; SQL GROUP BY 子句:SELECT SUM(column_name) FROM table_name WHERE CONDITION GROUP BY column_name; SQL COUNT 子句:SELECT COUNT(column_name) FROM table_name WHERE CONDITION; SQL HAVING 子句:SELECT SUM(column_name) FROM table_name WHERE CONDITION GROUP BY column_name HAVING (arithematic function condition); SQL CREATE TABLE 语句:CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) ); SQL DROP TABLE 语句:DROP TABLE table_name; SQL CREATE INDEX 语句 :CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...columnN); SQL DROP INDEX 语句 :ALTER TABLE table_name DROP INDEX index_name; SQL DESC 语句:DESC table_name; SQL TRUNCATE TABLE 语句:TRUNCATE TABLE table_name; SQL ALTER TABLE 语句:ALTER TABLE table_name {ADD|DROP|MODIFY} column_name {data_ype}; SQL ALTER TABLE 语句 (重命名) :ALTER TABLE table_name RENAME TO new_table_name; SQL INSERT INTO 语句:INSERT INTO table_name( column1, column2....columnN) VALUES ( value1, value2....valueN); SQL UPDATE 语句:UPDATE table_name SET column1 = value1, column2 = value2....columnN=valueN [ WHERE CONDITION ]; SQL DELETE 语句:DELETE FROM table_name WHERE {CONDITION}; SQL CREATE DATABASE 语句:CREATE DATABASE database_name; SQL DROP DATABASE 语句:DROP DATABASE database_name; SQL USE 语句:USE DATABASE database_name; SQL COMMIT 语句:COMMIT; SQL ROLLBACK 语句:ROLLBACK; SQL - 操作符:SQL 算术运算符:

假设变量的值为10,变量b的值为20:

运算符描述例子
+加法 -添加任一侧上的操作符的值a + b 得到 30
-减法 - 从左边减去右边操作数的操作a - b 得到  -10
*乘法 - 操作符两侧的值相乘a * b 得到  200
/除 - 将左边除右边的操作数(取模)b / a 得到  2
%模量 - 将左边用右手操作,并返回操作数的余数b % a 得到 0
SQL比较操作符:

假设变量的值为10,变量b的值为20:

操作符描述Example
=检查如果两个操作数的值是相等或不相等,如果是的话,条件为真。(a = b) is not true.
!=检查如果两个操作数的值是否相等,如果值不相等,则条件为真。(a != b) is true.
<>检查如果两个操作数的值是否相等,如果值不相等,则条件为真。(a <> b) is true.
>检查值,如果左操作数大于右操作数的值,如果是的话,条件为真。(a > b) is not true.
<检查如果左操作数的值小于右操作数的值,如果是的话,条件为真。(a < b) is true.
>=检查如果左操作数的值大于或等于右操作数的值,如果是的话,条件为真。(a >= b) is not true.
<=检查如果左操作数的值小于或等于右操作数的值,如果是的话,条件为真。(a <= b) is true.
!<检查如果左操作数的值不小于右操作数的值,如果是的话,条件为真。(a !< b) is false.
!>检查如果左操作数的值是不大于右操作数的值,如果是的话,条件为真。(a !> b) is true.
SQL逻辑运算符:

这是在SQL所有的逻辑运算符的列表。

操作符描述
ALL所有运算符用于比较的值到另一个值组中的所有值。
ANDAND运算符允许多个条件的存在,在一个SQL语句中的WHERE子句。
ANYANY运算符用于比较的值在列表中根据任何适用的条件。
BETWEENBETWEEN运算符用于搜索一组值的范围内的值,给定的最小值和最大值。
EXISTS存在指定的表中符合特定条件的运算符用于搜索存在的一行记录。
ININ操作符用来比较的文字值已指定一个值的列表。
LIKELIKE运算符用于比较相似的值,使用通配符的值。
NOTNOT运算符的含义相反的逻辑运算符,它被使用如 NOT EXISTS, NOT BETWEEN, NOT IN 等,这是一个相反的运算符。
OR使用OR运算符结合SQL语句的WHERE子句中的多个条件。
IS NULLNULL操作符用来比较NULL的值。
UNIQUE独特的操作符搜索指定的表中的每一行的唯一性(不重复)。
SQL - 实用函数:

SQL有许多内置的函数,字符串或数字数据进行处理。以下是所有有用的SQL内置函数的列表:

  •  - SQL COUNT集合函数用于在数据库表中的行数计算。

  •  - SQL MAX聚合函数允许我们选择某列的最高(最大)值。

  •  - SQL MIN聚合函数允许我们选择某列的最低(最小)值。

  •  - SQL AVG聚合函数选择一定的表列的平均值。

  •  - SQL SUM聚合函数可以选择的总数字列。

  •  - 这是用来生成一个给定的数目的平方根。

  •  - 这是用来产生一个随机数,使用SQL命令。

  •  - 这是用来连接任何字符串内的任何SQL命令。


阅读(1150) | 评论(0) | 转发(0) |
0

上一篇:SQL快速入门

下一篇:Maven学习网站推荐

给主人留下些什么吧!~~