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]。