sql server基本语句教程笔记

来源:互联网 发布:软件企业每年认定 编辑:程序博客网 时间:2024/06/05 14:50
重要数据库命令
select:从数据库提取数据
update:更新数据库中的数据(修改数据)
delete:从数据库中删除数据
insert into:向数据库中插入新数据
create database:创建新数据库
alter database:修改数据库
creata table:创建表
alter table:改变数据库
drop table:删除表
create index:创建索引
drop index:删除索引
重要记录
sql语句例子与解析
(1)id int identity(1,1) primary key,
/*解释:其中identity(1,1)代表自增*/
/*第一个1代表从1开始计数,第二个1代表每次增长1*/
(2)定义:name nvarchar(max);
  sql语句:insert into 表名 (name) values (N'汉字');
/*按照此方法为数据库输入汉字,否则乱码*/
select语法(SELECT 语句用于从数据库中选取数据)
select 选择列1,选择列2 from 表名;/*显示表中选择列*/
select * from 表名;/*显示选择整个表*/(*表示全部)
select distinct(SELECT DISTINCT 语句用于返回唯一不同的值)
select distinct 选择列 from 表名;/*显示表中选择列中唯一值*/
      /*去除选择列中重复值*/
where子句(WHERE 子句用于过滤记录)
select * from 表名 where 选择的标准条件;/*显示符合where子句后面标准的内容*/
子句运算符
=-------/*等于*/
<>------/*不等于*/   注释:在 SQL 的一些版本中,该操作符可被写成 !=
>-------/*大于*/
<-------/*小于*/
>=------/*大于等于*/
<=------/*小于等于*/
BETWEEN-/*在某个范围内*/
LIKE----/*搜索某种模式*/
IN------/*指定针对某个列的多个可能值*/
where+条件(筛选行)
条件:列,比较运算符,值;
逻辑运算符:and/*同时满足两个条件的值*/
     or/*满足其中一个条件的值*
     not/*满足不包涵该条件的值*/
例:select * from 表名 where sal > 2000 and sal < 3000;
    查询表中 SAL 列中大于 2000 小于 3000 的值
    select * from 表名 where sal > 2000 or comm > 500;
    查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。
    select * from 表名 where not sal > 1500;
    查询EMP表中SAL小于1500的值。
    逻辑运算的优先级:() not and or
特殊条件
1.空值判断:is null
select * from 表名 where 选择列 is null;
/*查询 emp 表中 comm 列中的空值。*/
2.between and(在 之间的值)
select * from 表名 where 选择列 between 1500 and 3000;
/*查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。*/
/*注意:下限在前,上限在后,查询的范围包涵有上下限的值*/
3.in
select * from 表名 where 选择列 in (5000,3000,1500);
/*查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。*/
4.like(like模糊查询)
select * form 表名 where 选择列 like 'M%';
/*查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。*/
 /*% 表示多个字值,_ 下划线表示一个字符;*/
 /*M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。*/
 /*%M% : 表示查询包含M的所有内容。*/
 /*%M_ : 表示查询以M在倒数第二位的所有内容。*/
and&or运算符(AND & OR 运算符用于基于一个以上的条件对记录进行过滤)
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录(一次结果)。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
实例:
1.select * from 表名 where 条件1 and 条件2;/*and使用*/
2.select * from 表名 where 条件1 or 条件2;/*or使用*/
3.select * from 表名 where 条件1 and (条件2 or 条件3);/*and和or的结合使用*/
order by关键字(ORDER BY 关键字用于对结果集进行排序)
/*ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。*/
/*ORDER BY 关键字默认按照升序对记录进行排序。*/
/*如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。*/
1.select * from 表名 order by 选择列;/*升序*/
2.select * from 表名 order by 选择列 DESC;/*降序*/
3.select * from 表名 order by 选择列1 选择列2;/*按照选择排列*/(先1后2)
ORDER BY 多列的时候,先按照第一个column name排序,在按照第二个column name排序;
如上述教程最后一个例子:
 1)、先将country值这一列排序,同为CN的排前面,同属USA的排后面;
 2)、然后在同属CN的这些多行数据中,再根据alexa值的大小排列。
 3)、ORDER BY 排列时,不写明ASC(升序) DESC(降序)的时候,默认是ASC。

insert into语句(INSERT INTO 语句用于向表中插入新记录)
INSERT INTO 语句可以有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
insert into 表名 values (数据1,数据2,数据3........);
第二种形式需要指定列名及被插入的值:
insert into 表名 (列1,列2,列3......) values (数据1,数据2,数据3....);
/*上面第二种中的id为int自增*/
update语句(UPDATE 语句用于更新表中的记录)
例子:
update 表名 set 列名1=‘数据1’,列名2=‘数据2’ where 列名3=‘数据3’;
/*update用来修改已选择的表中的数据,where子句用来筛选表中的数据*/
/*列名1,列名2就是更新的数据,列名3就是符合条件的那一列*/
假设我们要把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA。
我们使用下面的 SQL 语句:
UPDATE Websites
SET alexa='5000', country='USA'
WHERE name='菜鸟教程';
update警告
在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示:
UPDATE Websites
SET alexa='5000', country='USA'
执行以上代码会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。
执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。
delete语句(DELETE 语句用于删除表中的记录。)
例子:delete from 表名 where 条件;
/*请注意 SQL DELETE 语句中的 WHERE 子句!*/
/*WHERE 子句规定哪条记录或者哪些记录需要删除。*/
/*如果您省略了 WHERE 子句,所有的记录都将被删除!*/
删除所有数据
您可以在不删除表的情况下,删除表中所有的行。
这意味着表结构、属性、索引将保持不变。
语句示例:
DELETE FROM 表名;

DELETE * FROM 表名;
原创粉丝点击