? ? ? 本文是笔者在学习Oracle数据库的一些基本操作时,针对一些词汇的理解进行记录,形成一份SQL字典,其中包含了单词表和符号表,供大家进行学习交流。
序号 | 单词 | 注释 | 用途 | 例句 | 备注 |
1 | create | 创建 | CREATE DATABASE 用于创建数据库,CREATE TABLE 语句用于创建数据库中的表。 | 创建数据库:CREATE DATABASE database_name; 创建数据表:CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... ) | |
2 | drop | 删除 | 用于删除索引、表和数据库。 | 删除表:DROP TABLE 表名称 | |
3 | select | 查询 | SELECT 语句用于从表中选取数据。 | SELECT 列名称 FROM 表名称 或SELECT * FROM 表名称 | SQL 语句对大小写不敏感。SELECT 等效于 select,“*”表示表中所有列。 |
4 | insert | 添加 | INSERT INTO 语句用于向表格中插入新的行。 | INSERT INTO 表名称 VALUES (值1, 值2,....) 可指定所要插入数据的列 INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) | |
5 | update | 更新 | Update 语句用于修改表中的数据。 | UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 | |
6 | database | 数据库 | |||
7 | table | 表 | |||
8 | alter | 修改 | 用于在已有的表中添加、修改或删除列。 | 在表中添加列: ALTER TABLE table_name ADD column_name datatype 在表中删除列: ALTER TABLE table_name DROP COLUMN column_name | |
9 | delete | 删除 | DELETE 语句用于删除表中的行。 | DELETE FROM 表名称 WHERE 列名称 = 值 | |
10 | group by | 分组 | 用于结合合计函数,根据一个或多个列对结果集进行分组。 | SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name | |
11 | order by | 排序 | ORDER BY 语句用于根据指定的列对结果集进行排序。 | SELECT * FROM 表名称 ORDE BY? 列 | ORDER BY 语句默认按照升序对记录进行排序。 |
12 | asc | 升序 | |||
13 | desc | 降序 | |||
14 | inner join | 内连接 | 在表中存在至少一个匹配时,INNER JOIN关键字返回行。 | SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name | INNER JOIN 与 JOIN 是相同的。 |
15 | outer join | 外连接 | |||
16 | left join | 左连接 | LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。 | SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name | 在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。 |
17 | right join | 右连接 | RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。 | SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name | 在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。 |
18 | full join | 全连接 | 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。 | SELECT column_name(s) FROM table_name1FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name | 在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。 |
19 | values | 值 | |||
20 | constraint | 强制 | 约束用于限制加入表的数据的类型,可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。 | ||
21 | null | 空值 | 创建或修改表中的列属性,NOT NULL 约束强制列不接受 NULL 值,如果不向字段添加值,就无法插入新记录或者更新记录。 | CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) ) | |
22 | check | 检查 | 用于限制列中的值的范围,如果对单个列定义 CHECK 约束,那么该列只允许特定的值;如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。 | CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CHECK (Id_P>0) ) | |
23 | foreign key | 外键 | 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY,FOREIGN KEY 约束用于预防破坏表之间连接的动作,防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。 | CREATE TABLE Orders ( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (Id_O), FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) ) | |
24 | primary key | 主键 | PRIMARY KEY 约束唯一标识数据库表中的每条记录,主键必须包含唯一的值,主键列不能包含 NULL 值,每个表都应该有一个主键,并且每个表只能有一个主键。 | CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (Id_P) ) | |
25 | set | 设置 | |||
26 | default | 默认 | 用于向列中插入默认值,如果没有规定其他的值,那么会将默认值添加到所有的新记录。 | CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) DEFAULT 'Sandnes' ) | |
27 | unique | 唯一 | UNIQUE 约束唯一标识数据库表中的每条记录。 | CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), UNIQUE (Id_P) ) | 每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 |
28 | references | 引用 | |||
29 | union? | 联合 | UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 | SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 | UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同,默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。 |
30 | filegroup | 文件组 | |||
31 | filegrowth | 增长率 | |||
32 | filename | 逻辑名称 | |||
33 | maxsize | 最大容量 | |||
34 | modity | 移除 | |||
35 | distinct | 去除重复 | DISTINCT 用于返回唯一不同的值,去除某一列包含重复值。 | SELECT DISTINCT 列名称 FROM 表名称 | |
36 | top | 前 | TOP 子句用于规定要返回的记录的数目。 | SELECT TOP number|percent column_name(s) FROM table_name | 并非所有的数据库系统都支持 TOP 子句。 |
37 | percent | 百分比 | SELECT? TOP? n? PERCENT FROM TABLE表示返回的前面的n%行 | ||
38 | having | 过滤 | WHERE关键字无法与合计函数一起使用,所以要用Having来引用合计函数 | SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value | WHERE语句在GROUPBY语句之前;SQL会在分组之前计算WHERE语句。 HAVING语句在GROUPBY语句之后;SQL会在分组之后计算HAVING语句。 |
39 | column | 列 | |||
40 | size | 大小 | |||
41 | remove | 删除 | |||
42 | where | 从哪儿(后面接条件) | 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。 | SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 或SELECT * FROM 表名称 WHERE 列 运算符 值 | |
43 | as | 起别名 | 可以为列名称和表名称指定别名。 | 给表起别名: SELECT column_name(s) FROM table_name AS alias_name 给列起别名: SELECT column_name AS alias_name FROM table_name | |
44 | between…and | 在…之间 | 操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。 | SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 | |
45 | escape | 转译 | 定义转义字符 | ||
46 | in | 里 | IN 操作符允许我们在 WHERE 子句中规定多个值。 | SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...) | |
47 | like | 像 | LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 | SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern | |
48 | identity | 标识列(自增长) | |||
49 | procedure | 存储过程 | |||
50 | exec | 执行 | |||
51 | function | 函数 | |||
52 | break | 退出 | |||
53 | continue | 跳出 | |||
54 | while | 当 | |||
55 | 输出 | ||||
56 | begin…end | 开始…结束 | |||
57 | view | 视图 | 视图是基于 SQL 语句的结果集的可视化的表。 | 视图创建: CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition | 视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。 |
58 | substr | 截取 | 用于截取字符串值的某一段信息。 | ?substr(string string, int a, int b);1、string 需要截取的字符串 2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取) 3、b 要截取的字符串的长度 | |
59 | abs | 绝对值 | |||
60 | cast | 转换 | |||
61 | convert | 转换 | |||
62 | transact | 执行 | |||
63 | or | 或 | OR 可在 WHERE 子语句中把两个或多个条件结合起来,如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。 | SELECT 列名称 FROM 表名称 WHERE 列 运算符 值(条件一) OR 列 运算符 值(条件二) | |
64 | and | 且 | AND 可在 WHERE 子语句中把两个或多个条件结合起来,如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。 | SELECT 列名称 FROM 表名称 WHERE 列 运算符 值(条件一) AND 列 运算符 值(条件二) | |
65 | into | 赋值(配合select使用) | SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中,常用于创建表的备份复件或者用于对记录进行存档。 | ELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename | |
66 | instr | 查找指定字符串的位置 | instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。? | select instr('abcdefgh','e') position from dual;结果:5; | |
67 | to_char | 转化为字符型 | 将数值型或者日期型转化为字符型。 | 使用TO_CHAR函数处理数字,规范:TO_CHAR(number, '格式') 使用TO_CHAR函数处理日期,规范:TO_CHAR(date,’格式’); | |
68 | to_number | 转换为数值型 | 将字符串转换为数值型的格式 | TO_NUMBER(char, '格式') | |
69 | round | 四舍五入取值 | 对数字型进行四舍五入后,返回结果值。 | round(number,y) ,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。 select round(5555.6666,2.1)from dual; 结果:5555.67 | |
70 | trunc | 精确位数取值 | 对数字型进行精确取值,并返回结果值。 | trunc(rumber,y),数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。select trunc(5555.6666,2.1)from dual;结果:5555.66 |
序号 | 符号 | 注释 | 用途 | 例句 | 备注 |
1 | ?' | 单引号 | 1.做字符串引用;例如'abc';表示这是字符串类型; 2.做引号的转义; | ||
2 | " | 双引号 | |||
3 | & | 并且 | 在Oracle里有特殊含义,是一个宏变量标识符,& 是从需要外部输入输入的变量 | ||
4 | || | 连接符 | ||表示拼接,如'a'||'b' 等价于'ab' | ||
5 | @ | 定义变量 | |||
6 | % | 模糊查询 | '%a%'就代表一个字符串只要包含字母a就符合条件 '%a'则代表一个字符串需要以字母a结尾才符合条件 'a%'就是以a开头的字符串了 | ||
7 | * | 引用代表中的列 | 1.没有限定符的话就是代表所有引用表的字段; 2.有限定符的话,就是代表限定表的所有列。 | ||
8 | () | 括号 | |||
9 | -- | 注释 | |||
10 | |||||
11 | #{} | 传参符 | 在动态解析的时候, 会解析成一个参数标记符,以预编译的形式,将参数设置到SQL语句中; | #方式能够很大程度防止sql注入;$方式无法防止Sql注入。大多数情况下,我们去参数的值都应该使用#{} | |
12 | ${} | 传值符 | 取出的值直接拼装在SQL语句中;会有安全问题 | ||
13 | _ | 下划线 | 表示任何单一字符。 |