查询 SELECT
- 第一种写法:SELECT column_1,column2,… FROM table_name;(推荐)
- 第二种写法:SELECT * FROM table_name;(不推荐)
删除 DELETE
- 删除表中所有数据:DELETE FROM table_name;
- 删除表中指定数据:DELETE FROM table_name WHERE 条件
插入 INSERT
- 第一种写法:INSERT INTO table_name(column_1,column_2,…) VALUES(value_1,value_2,…);
- 第二种写法:INSERT INTO table_name VALUES(column_1,column_2,…);
注意:插入的值数量要与字段数量一致,否则会出错
插入 UPDATE
- 写法:UPDATE table_name SET column_1 = value_1,column_2 = value_2,…WHERE 条件;
添加注释
- 添加表的注释:CONMENT ON TABLE table_name IS ‘注释内容’;
- 添加字段注释:CONMENT ON COLUMN table_name.column_name IS ‘注释内容’;
字符串截取,substr()函数
- 语法:substr(要截取的字符串,截取的起始位置,截取的长度);//返回截取的值
- 例子:substr(‘Hello World’,0,1) //返回结果为 ‘H’ *从字符串第一个字符开始截取长度为1的字符串
起始位置为负数时,表示字符从右边开始取
decode()函数
- decode(字段或字段的运算,值1,返回值1,值2,,返回值2,值3,,返回值3,…,默认值)
- 运行的结果是,当字段或字段的运算的值等于值1时,得到结果为返回值1,等于值2时,得到结果为返回值2,…,否则默认值
- 如果条件复杂,可以用 case when then表达式
CASE 字段或字段的运算 WHEN 表达式1 THEN 结果1 WHEN 表达式1 THEN 结果2 … WHEN 表达式n THEN 结果n ELSE 默认值
内连接 INNER JOIN
- 含义:只返回符合匹配条件的两个表的列的结果集
- 语法:SELECT column_1,column_2,… FROM table_name1 INNER JOIN table_name2 ON或WHERE 条件
外连接
1、外连接分为左连接、右连接、完整外部联接 2、左连接
- 左连接也称左外连接:LEFT JOIN 或 LEFT OUTER JOIN
- 语法:SELECT t1.column_1,t1.column_2,…,t2.column_1,t2.column_2,… FROM table_name1 t1 LEFT JOIN table_name2 t2 ON 条件
- 左连接所得的结果集包含了左表子句中指定的左表的所有行,而不仅仅是联接列所匹配的行,加上根据条件返回右表相应字段,不匹配则值为NULL
3、右连接
- 右连接也称右外连接:RIGHT JOIN 或 RIGHT OUTER JOIN
- 语法:SELECT t1.column_1,t1.column_2,…,t2.column_1,t2.column_2,… FROM table_name1 t1 RIGHT JOIN table_name2 t2 ON 条件
- 右连接所得的结果集包含了右表子句中指定的右表的所有行,而不仅仅是联接列所匹配的行,加上根据条件返回左表相应字段,不匹配则值为NULL
4、完整外部联接:full join 或 full outer join
- 完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。。
- 语法:SELECT t1.column_1,t1.column_2,…,t2.column_1,t2.column_2,… FROM table_name1 t1 FULL JOIN table_name2 t2 ON 条件
字符串连接符
使用 链接,例如:字段1 ’-‘ 字段2 = 字段1-字段2
char类型转时间格式
- 20180409154900 :to_date(strDate, ‘yyyy-mm-dd,hh24:mi:ss ‘) = 2018-04-09 15:49:00
- select TO_DATE(‘20180410181630’,’yyyy-mm-dd,hh24:mi:ss’) from dual;