2023-02-24 10:07AM
SQL的概念:
SQL(结构化查询语言)是用于访问和操作数据库中的数据的标准数据库编程语言
SQL标准命令:
与关系数据库交互的标准SQL命令是CREATE,SELECT,INSERT,UPDATE,DELETE和DROP,简单分为以下几组:
DDL(数据定义语言):
数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象。用于操纵表结构的数据定义语言命令有:
CREATE TABLE-- 创建(在数据库中创建新表、表视图或其他对象)
ALTER TABLE-- 更改 (修改现有的数据库对象,如表)
DROP TABLE-- 删除 (删除数据库中的整个表、表或其他对象的视图)
DML(数据操纵语言):
数据操纵语言用于检索、插入和修改数据,数据操纵语言是最常见的SQL命令。
数据操纵语言命令包括:
INSERT-- 插入 (创建记录)
DELETE-- 删除 (删除记录)
UPDATE-- 修改(修改记录)
SELECT -- 检索 (从一个或多个表检索某些记录)
DCL(数据控制语言):
数据控制语言为用户提供权限控制命令。
用于权限控制的命令有:
GRANT-- 授予权限
REVOKE-- 撤销已授予的权限
SQL RDBMS 的概念:
RDBMS是关系数据库管理系统(Relational Database Management System)的缩写。
RDBMS是SQL的基础,也是所有现代数据库系统(如MS SQL Server、IBMDB2、Oracle、MySQL和MicrosoftAccess)的基础
(1):RDBMS中的数据存储在称为表的数据库对象中。这个表基本上是一个相关数据条目的集合,它由许多列和行组成。请记住,表是关系数据库中最常见和最简单的数据存储形式(2):每个表都被分解成更小的实体,称为字段。字段是表中的列,用于维护有关表中每条记录的特定信息
(3):记录也称为数据行,即表中存在的每个单独的条目。记录是表中的水平实体(4):列是表中的垂直实体,其中包含与表中特定字段关联的所有信息,它表示位置描述(5):表中的空值是显示为空的字段中的值,这意味着具有空值的字段是没有值的字段。
非常重要的一点是空值不同于零值或包含空格的字段。具有空值的字段是在创建记录时留空的字段
SQL语法规则:
SQL语句总是以关键字开始,如SELECT、INSERT、UPDATE、DELETE、DROP、CREATE。
SQL语句以分号结尾。
SQL不区分大小写,意味着update与UPDATE相同
一些最重要的SQL命令:
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
SELECT语句
select语句用于从数据库中选取数据,结果被存储在一个结果表中,称为结果集
句法:
SELECT column_name(s) FROM table_name
SELECT语句和WHERE子句
where子句用于过滤记录,用于提取那些满足指定条件的记录
句法:
SELECT [*] FROM [TableName] WHERE [condition1]
SELECT语句与WHERE和/或子句
and & or 运算符用于基于一个以上的条件对记录进行过滤
如果第一个条件和第二个条件都成立,则and运算符显示一条记录
如果第一个条件和第二个条件中只要有一个成立,则or运算符显示一条记录
句法:
SELECT [*] FROM [TableName] WHERE [condition1] [AND [OR]] [condition2]...
如果把and和or结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');
SELECT语句与ORDER BY
order by关键字用于对结果集按照一个列或者多个列进行排序,默认按照升序对记录进行排序
句法:
SELECT column_name()
FROM table_name
ORDERBY column_name() ASCorDESC
SELECT DISTINCT(区分)子句
select distinct语句用于返回唯一不同的值
distinct关键词用返回唯一不同的值(在表中,一列可能会包含多个重复值)
句法:
SELECTDISTINCT column1, column2....columnN
FROM table_name;
SELECT IN子句
句法:
SELECT column1, column2....columnN
FROM table_name
WHERE column_name IN (val-1, val-2,...val-N);
SELECT LIKE (类)子句
句法:
SELECT column1, column2....columnN
FROM table_name
WHERE column_name LIKE { PATTERN };
SELECT COUNT(计数)子句
句法:
SELECTCOUNT(column_name)
FROM table_name
WHERE CONDITION;
SELECT与HAVING子句
having 语句通常与 group by 语句联合使用
用于过滤由 group by 语句返回的记录集
having语句弥补了where 关键字不能与聚合函数联合使用的不足
句法:
SELECTSUM(column_name)
FROM table_name
WHERE CONDITION
GROUPBY column_name
HAVING (arithematic function condition);
INSERT INTO语句
INSERT INTO 语句用于向表中插入新记录。
句法:
INSERTINTO table_name (column, column1, column2, column3, ...)
VALUES (value, value1, value2, value3 ...)
UPDATE语句
update语句用于更新表中已存在的记录
注意 :更新表中的记录时要小心!
要注意SQL UPDATE 语句中的 WHERE 子句!
WHERE子句指定哪些记录需要更新。如果省略WHERE子句,所有记录都将更新!
句法:
UPDATE table_name
SETcolumn=value, column1=value1,...
WHERE someColumn=someValue
SQL INSERT INTO 语法
INSERT INTO 语句可以用两种形式编写。
第一个表单没有指定要插入数据的列的名称,只提供要插入的值,即可添加一行新的数据:
INSERTINTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
第二种,如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同。INSERT INTO语法如下所示:
INSERTINTO table_name
VALUES (value1, value2, value3, ...);
DELETE语句
delete语句用于删除表中现有记录
注意:删除表格中的记录时要小心!
注意SQL DELETE 语句中的 WHERE 子句!
WHERE子句指定需要删除哪些记录。如果省略了WHERE子句,表中所有记录都将被删除!
句法:
DELETEFROM tableName
WHERE someColumn = someValue
CREATE 语句
句法:
CREATETABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
DROP 语句
句法:
DROPTABLE table_name;
CREATE INDEX语句
句法:
CREATEUNIQUEINDEX index_name
ON table_name ( column1, column2,...columnN);
DROP INDEX语句
句法:
ALTERTABLE table_name
DROPINDEX index_name;
DESC语句
句法:
DESC table_name;
TRUNCATE 截断表语句
句法:
TRUNCATETABLE table_name;
ALTER TABLE语句
句法:
ALTERTABLE table_name {ADD|DROP|MODIFY} column_name {data_ype};
ALTER TABLE语句(对表名重命名)
句法:
ALTERTABLE table_name RENAMETO new_table_name;
Use语句
句法:
USE database_name;
COMMIT语句
句法:
COMMIT;
ROLLBACK语句
句法:
ROLLBACK;
where:
WHERE 子句中的运算符
WHERE子句中可以使用以下运算符:
运算符 |
描述 |
= |
等于 |
<> |
不等于。 注意:在某些版本的SQL中,这个操作符可能写成!= |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
BETWEEN |
在某个范围内 |
LIKE |
搜索某种模式 |
IN |
为列指定多个可能的值 |
文本字段 vs. 数值字段
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
在上个实例中 'CN' 文本字段使用了单引号。
如果是数值字段,请不要使用引号。
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论