数据库02-语法

China☆狼群 提交于 2020-02-26 15:35:07

20200224

1、ORDER BY 关键字用于对结果集进行排序

SELECT column1_name,column2_name FROM table_name

ORDER BY column1_name,column2_name ASC|DESC;

优先按照列名1进行排序,再按照列名2进行排序

列名可以不用写,写数字 可代表按照第几列进行排序,并采用默认的显示顺序排列

默认按照ASC升序排列

2、INSERT INTO 语句用于向表中插入新记录

不需要插入的值,可命名为null或''

某些列必须输入值才可进行操作

第一种形式无需指定要插入数据的列名,只需提供被插入的值,但值的数量需和列名保持一致

INSERT INTO table_name

VALUES (value1,value2,value3,...);

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

INSERT INTO table_name(column1,column2,column3,...)

VALUES (value1,value2,value3,...);

3、列别名

select ename as 姓名 from emp;   或者     select ename 姓名 from emp;

如果列别名含有特殊符号(如空格、¥、+等),则需将此列别名用双引号标上

4、空值

空值不能进行运算,null进行任何运算的算式都等于空值

如果空值要参与运算,则需要将空值进行转换

nvl(可能产生空值的列,指定值),如下所示 是将comm列中的空值都转换为100000


 

5、Like模糊查询

%:代表任意数量的任意字符

_:代表任意一个字符

select * from emp where ename like '_A%';查询姓名中第二个字母为A的员工信息

6、UPDATE 语句 更新表中已存在的记录

Update emp Set ename='SMITH' Where empno=7369;

7、DELETE 语句用于删除表中的行

DELETE FROM table_name WHERE some_column=some_value;

可以在不删除表的情况下,删除表中所有的行,同时表结构、属性、索引将保持不变

DELETE FROM table_name;

或DELETE * FROM table_name;

8、SQL SELECT TOP 子句

SELECT TOP 子句用于规定要返回的记录的数目

Select * From emp Where Rownum <=5;    从 "emp" 表中选取前5条记录

9、SQL通配符

%:替代0个或多个字符;

_:替代一个字符;

[charlist]:字符列中的任何单一字符;

[^charlist]或[!charlist]:不在字符列中的任何单一字符;

10、IN操作符

IN 操作符允许在 WHERE 子句中规定多个值

select ename from emp where deptno in(10,20);

select ename from emp where deptno=10 or deptno=20;

11、BETWEEN 操作符

ETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

select * from emp where ename not between 'A' and 'F';    查询emp表中姓名开头不是从A到F的员工信息

select * from emp where hiredate between '01-1月-1980' and '01-1月-1981';    查询emp表中 1980/01/01到1981/01/01期间入职的员工信息

注意:不同的数据库中,between操作符产生的效果可能会不一样,可能包含两个边界值也可能只包含其中一个,或者都不包含,具体情况需要视工具而定,可事先进行检查。

12、NOT NULL 约束

在默认的情况下,表的列接受 NULL 值

NOT NULL 约束强制列不接受 NULL 值。

NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

create table Persons (  id int NOT NULL, LastName varchar(255) NOT NULL,FirstName varchar(255) NOT NULL, Age int);      这个语句就强制 "ID" 列、 "LastName" 列以及 "FirstName" 列不接受 NULL 值

在一个已创建的表中添加 NOT NULL 约束  ALTER TABLE Persons MODIFY Age int NOT NULL;

在一个已创建的表中删除 NOT NULL 约束  ALTER TABLE Persons MODIFY Age int NULL;

13、NULL值

无法使用比较运算符=、< 或 <>等来测试null值,必须使用 IS NULL 和 IS NOT NULL 操作符

14、NULL函数

Oracle    nvl(可能有空值的列名,希望将null转换成的数值)

SQL Server / MS Access    ISNULL(可能有空值的列名,希望将null转换成的数值)

MySQL     IFNULL(可能有空值的列名,希望将null转换成的数值) 或者   COALESCE(可能有空值的列名,希望将null转换成的数值)

 

作者:kerwin-chyl

文章链接:https:////www.cnblogs.com/kerwin-chyl

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!