SQL SERVER语法 基础二

use database  #选择数据库

set names utf8 #设置使用的字符集

 

目录

 

 

1.SELECT命令

从数据库中选取数据。

结果被存储在一个结果表中,称为结果集

 (1)常用命令

SELECT column_name,column_name from table_name

  

如果是需要选择所有的列,就用*号代替column_name

select * from table_name

  

(2)返回唯一不同的值(去除列中重复的值)

select DISTINCT

返回列中唯一的,不同的值

命令用法:

select DISTINCT column_name,column_name from table_name

  

2.where子句

作用是过滤记录

(1).常用语法

select column_name,column_name from table_name where column_name operator value

  

这里的operator 指的是运算符,比如>或< 或!= 或=

如colunm_name !=value

(2)常用的运算符

= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

 

(3). AND 和OR运算符

作用是对 一个以上的条件对记录进行过滤。

AND:如果两个条件都成立,则显示一条成立的记录

OR:如果第一个条件或者第二个条件中,只要有一个条件成立,就显示一条成立的记录。

使用语法:

select column_name,column_name from table_name where column_name operator value AND column_name operator value

  

select column_name,column_name from table_name where column_name operator value OR column_name operator value

  

如:

select * from Websites where country='CN' OR country='USA'

  

AND和OR结合起来使用

SELECT * FROM Websites WHERE alexa > 15 AND (country='CN' OR country='USA');

  

(4).ORDER BY

order by是关键字,它用于对结果集进行排序。

也就是说,这个关键字是在其它对条件进行过滤之后,对获取的结果集进行排序

select column_name,column_name from table_name order by colunm_name,column_name ASC | DESC

  

asc 为升序排序,如数字,就是从小开始排到大。字母则从A排到Z

DESC为降序排序,如数字从最大排到最小,字母则从Z排到A

如果没有指明是asc还是desc,则默认是asc排序

如排序的是多个列

SELECT * FROM Websites ORDER BY country,alexa;

以上对counttry和alexa两个列进行排序。则会先把country进行asc方式排序,然后在country排好之后,如country排好序后,CN和USA都进行排好序了。再对alexa排序,就会在所有CN中的记录中,对alexa进行排序。然后在USA记录中对alexa进行排序。

如果多列排序中,没有在后面紧跟着排序方式,默认ASC。

order A ,B      都默认ASC方式排序

order A desc,B      A降序,B默认升序

order A,B desc  A默认升序,B降序

 

3.INSERT INTO

语句,作用 插入新记录

两种形式的语句

(1).不指明插入的列

INSERT INTO table_name  VALUES(value1,value2,value3,......);

  

(2).指明插入的列和对应值

INSERT INTO table_name (column1,column2,column3......) VALUES (value1,value2,value3......);

  

(3).INSERT INTO和SELECT * INTO的区别

 

insert into scorebak select * from socre where neza='neza'   --插入一行,要求表scorebak 必须存在
select *  into scorebak from score  where neza='neza'  --也是插入一行,要求表scorebak 不存在

  

 

4.UPDATE语句

作用,更新表中已存在的记录

语法

update table_name 
set column_name1=value,column_name2=value,.....
where some_column=some_value

  

UPDATE Websites 
SET alexa='5000', country='USA' 
WHERE name='菜鸟教程';

  

注:如果不加where语句条件过滤。会导致SET出现的整个列都设置为该值。

所以使用UPDATE时一定要慎重。

可以通过设置sql_safe_updates 这个自带的参数来解决,当这个参数开启时,update后一定要带着where语句,不然会报错。

 

 

5.DELETE

作用 删除表中的行

语法

DELETE FROM table_name WHERE some_column=some_value;

  

根据where条件过滤删除的记录。

如果需要表中所有的记录,又保留表的字段属性等。

可以如下写

delete from table_name
or
delete * from table_name

  

 

 

 

 

 

 

 

 

 

 

                                                                

posted @ 2021-02-03 16:40  云中翱翔的鹏鸟  阅读(136)  评论(0编辑  收藏  举报