常用SQL基本命令整理、SQL语法

2018年05月16日

阅读:275

sql的增删改查,基本语法

1、 查看数据库中的表或查询数据库;

show tables/databases;

2、 查看数据库中所有的表

show tables;(前提是使用use database 数据库;)

3、 查看数据表结构

describe 表名;

4、 创建数据库

CARATE DATABASE 数据库名;

create database studentoa;

5、 删除数据库

DROP DATABASE 数据库名;

Drop database studentoa;

6、 使用数据库

use 数据库名;

use studentoa;

7、 创建数据表

CREATE TABLE 表名 ( 列名 数据类型, 列名 数据类型, 列名 数据类型 ); create table information ( id int primary key, name nvarchar(10) not null, age int, sex nvarchar(6) )

8、 删除数据表中的列

ALTER TABLE 表名 DROP COLUMN 列名;

alter table information drop column sex;

9、 增加数据表中的列

ALTER TABLE 表名

ADD 列名 数据类型;

Alter table information add home varchar(20);

10、 数据表中添加数据

INSERT INTO 表名[(列名,列名,列名)] VALUES (值,值,值);

insert into information(id,name,age,home) values (001,'张三',23,'黑龙江');

insert into information values(002,'李四',25,'沈阳');

insert into information(id,name,home) values(003,'赵六','吉林');

11、 修改数据表中列数据类型名或者长度

12、 alter table 表名 alter column 列名 数据类型;

alter table information alter column home varchar(10);

13、 删除数据表中的某一行数据;

DELETE FROM 表名 WHERE 筛选条件;

delete from information where name='田七';

14、 更改数据表中的某一项信息

UPDATE 表名 SET 更改项 = '修改内容' WHERE 筛选条件;

update information set age=29 where name='赵六';

15、 筛选条件中的比较运算符 Or运算符的应用

select * from information where age>25 or home='沈阳' or home='吉林' or home='黑龙江';(筛选出年龄大于25的或者家乡是东北三省的人员信息) And运算符的应用

select * from information where age>25 and home='沈阳' or home='吉林' or home='黑龙江';(筛选出年龄大于25并且家乡是东北三省的人员信息)

16、 建表之后添加约束主键,删除约束主键

ALTER TABLE表名 ADD CONSTRAINT 约束名 约束类型 约束描述; ALTER TABLE表名DROP CONSTRAINT 约束名;

alter table information add constraint abd primary key(id); alter table information drop constraint abd;

17、 几个高级查询运算词

A: UNION 运算符

UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

B: EXCEPT 运算符

EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

C: INTERSECT 运算符

INTERSECT运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

注:使用运算词的几个查询结果行必须是一致的。

18、 使用连接

A、left (outer) join:

左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。

SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

B:right (outer) join:

右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。

C:full/cross (outer) join:

全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

D:inner join

19、 Group by:

一张表,一旦分组 完成后,查询后只能得到组相关的信息。

组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)

在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据

在selecte统计函数中的字段,不能和普通的字段放在一起;

20、 对数据库进行操作:

分离数据库: sp_detach_db;附加数据库:sp_attach_db 后接表明,附加需要完整的路径名

21、 如何修改数据库的名称:

sp_renamedb 'old_name', 'new_name'

22、 查询结果排序

ASC从小到大、DESC从大到小

默认按照升序

可以按多个列进行排序,首先按前面的列排序,遇到相同记录再按照第二列排序。

23、 聚合函数

COUNT(*):统计表中元素的个数;

COUNT(DISTINCT 列名):统计本列中非空列值的个数;(DISTINCT表示不包括列重复值)

SUM:计算列值的和;

AVG:平均值

MAX:最大值

MIN:最小值

上述函数中除了COUNT(*)外,其他函数在计算过程中均忽略NULL值。

24、 WHERE条件查询

比较 =/>/</>=/<=

确定范围 between … and …/notbetween … and …

确定集合 IN/NOT IN

字符匹配 LIKE/NOT LIKE

空值 IS NULL/IS NOTNULL

多重条件 AND/OR

25、 LIKE匹配

_下划线:匹配任意一个字符

%百分号:匹配0个或多个字符;

[]:匹配[]中的任意一个字符。如[acgd]表示匹配a/c/g/d中的任何一个,对于连续的,可以写成[a-d];

[^]:不匹配[]中的任何一个字符。写成[^abgd]。

别逗了好么

努力每一天,奋斗为明天。

文章 981 作品 25,341

热门作品

文章推荐

猜你喜欢

榜上有名

广告