15个初学者必看的基础SQL查询语句

数据库应用基础

——————————– Start ———————–

^_^前言:

如果基本的语句你会的话,前三个基本的数据库与表及记录的简单操作可以跳过。

使用语言:T-SQL语言,数据库语句

运行环境:Sql Server 2012

——————————– First——————————–

一、数据库、表的基本操作

1.首先数据库的基本操作:

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. create database hpu –创建名为 hpu的数据库  
  2. use hpu             –更改当前数据库为 hpu,即接下来的操作是基于 hpu数据库的  
  3. drop hpu            –删除数据库 hpu  

2.然后对表操作:

(1)表的创建

车很普及了在今天,很多人都要考驾照,本人还没拿到手,心疼。。。

以车牌号为例建个表命名为 vehicle

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. create table vehicle  
  2. (  
  3.     number_id varchar(11),  –车牌  
  4.     brand varchar(11),      –品牌  
  5.     color varchar(11),      –颜色  
  6.     makedate date           –出厂日期  
  7. )  

(2)表的删除

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. drop table vehicle          –删除表中数据,同时删除该表  
  2. delete vehicle              –删除表中数据  

——————————– Second ——————————–

二、字段的操作及记录的增删改查

(1)字段的操作

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. alter table vehicle add carowner varchar(20)        –增加字段(列)  
  2. alter table vehicle alter column carowner int       –修改字段类型  
  3. alter table vehicle alter column carowner varchar(15)  
  4. sp_rename ‘vehicle.carowner’,‘carmaster’,‘column’   –修改列名  
  5. alter table vehicle drop column carmaster       –删除表 vehicle的字段 carmaster  

(2)基本的增删改查是最简单、最基本也是最常用的 sql语句

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. insert into vehicle(number_id,brand,makedate) values(‘豫HPU579’,‘红旗’,getdate())  
  2. insert into vehicle values(‘豫HPU33U’,‘大众’,‘银灰色’,getdate())  
  3. insert into vehicle values(‘豫HPU123’,‘红旗’,‘黑色’,getdate()-365*2)  
  4. delete vehicle where number_id = ‘豫HPU23U’<span style=“white-space:pre”>        </span>–按条件删除  
  5. delete vehicle<span style=“white-space:pre”>                        </span>–删除表中全部记录  
  6. update vehicle set color = ‘红色’ where brand = ‘红旗’<span style=“white-space:pre”>    </span>–按条件更新车的颜色  
  7. update vehicle set makedate = getdate()<span style=“white-space:pre”>           </span>–更新表中全部记录的出厂日期为当前时间  
  8. select number_id,makedate from vehicle where brand = ‘红旗’<span style=“white-space:pre”> </span>–按条件查找所需字段的数据  
  9. select top 2 * from vehicle<span style=“white-space:pre”>               </span>–查询表中的前两条记录  
  10. select * from vehicle  

——————————– Third ——————————–

三、约束

约束从字面上理解就是存在一种或多种规则,条件来规范字段、数据。约束用于维护数据库完整性,通过表中的列定义约束可以有效防止将错误的数据插入表中,也可以保证表之间数据的一致性。

常用的约束有:

1.Primary key主键约束

2.Foreign key外键约束

3.Unique唯一约束

4.Check检查约束

5.Default默认约束

6.Not null不为空

例如对上表 vehicle创建时设置约束

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. create table vehicle  
  2. (  
  3.     number_id varchar(11) primary key,  –设为主键  
  4.     brand varchar(11) not null,     –数据不为空  
  5.     color varchar(11) default ‘黑色’–默认颜色为黑色  
  6.     makedate date not null          –出厂日期  
  7. )  

测试约束:

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. insert into vehicle(number_id,brand,makedate) values(‘豫HPU579’,‘红旗’,getdate())  –插入成功;颜色默认值为 ‘黑色’  
  2. insert into vehicle(number_id,brand,makedate) values(‘豫HPU579’,‘大众’,getdate())  –插入失败:主键唯一,已存在主键为 ‘豫HPU579’的记录不能再插入  
  3. insert into vehicle values(‘豫HPU123’,‘大众’,‘苹果绿’,getdate())          –插入成功;  
  4. insert into vehicle values(‘豫HPU678’,null,‘苹果绿’,getdate())              –插入失败;不能将值 NULL 插入列 ‘brand’,列不允许有 Null 值  

执行查询语句结果如下:

《15个初学者必看的基础SQL查询语句》

就像上面如果没有将约束写在表的创建语句里,而表已经创建好的情况下。该怎么修改呢?

修改语句实例如下:

[delphi]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. alter table vehicle alter column number_id varchar(11not null         –设置字段不为空  
  2. alter table vehicle alter column brand varchar(11not null  
  3. alter table vehicle alter column makedate date not null  
  4. alter table vehicle add constraint PK_number_id primary key(number_id)      –修改字段 number_id为主键  
  5. alter table vehicle add constraint DF_color Default(‘灰色’for color     –设置默认值  
  6. alter table vehicle add constraint CK_makedate check(makedate < getdate())   –核查生产日期应该小于今天  

其他修改语句相似。

——————————– Fourth——————————–

四、函数

数据库语句也有函数,上面的例子中已经用到一个函数 getdate()得到当前时间。

rand()随机函数;

sin(),cos(),tan()三角函数;

sum(),avg(),max(),min(),len()等求和,求平均数,最大最小值球长度函数;

datediff(),getdate(),dateadd()日期函数;

cast(),str(),char()数据转换函数;

substring(),left(),right(),ltrim()截取字符串函数等。

下面写个例子简单说明函数的使用:(利用函数生成一个长度为49的字符串,计算程序运行所需时间)

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. print(‘当前时间:’)  
  2. print(getdate())                                –得到当前时间  
  3. declare @i int , @c varchar(50),@date1 datetime,@date2 datetime  
  4. set @i = 0  
  5. set @c =   
  6. set @date1 = getdate()  
  7. while @i < 49  
  8.     begin  
  9.         set @c = @c + char(round(rand()*26+65,0))       <span style=“white-space:pre”>  </span>–随机函数,保证生成的数字是随机的,对应的字符不全相同  
  10.         set @i = @i + 1  
  11.     end  
  12. set @date2 = getdate()  
  13. print @c  
  14. print ‘答案的长度为: ‘+cast(len(@c) as varchar(10))   <span style=“white-space:pre”>      </span>–len()的结果为整型,cast转换为字符串类型  
  15. print(‘运行时间为:’+cast(datediff(ms,@date1,@date2) as varchar(10))+‘ms’)–datediff计算两个给定的时间差,单位为毫秒  

运行结果如下:

《15个初学者必看的基础SQL查询语句》

——————————– Fifth——————————–

五、视图与索引

1.视图创建与删除

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. create view testview as select * from vehicle   –创建视图  
  2. select * from testview  
  3. select * from vehicle  
  4. drop view testview              –删除视图  

在sql server2012下执行查询表与查询视图的结果如下:

《15个初学者必看的基础SQL查询语句》

《15个初学者必看的基础SQL查询语句》

视图的查询结果与普通的查询表记录得到的结果相同。两者的区别是视图查询的结果是逻辑结果,直接查询表获取的是实际数据。视图防止了对表数据的误删等操作。不知道我说的对不对,如果有错误或不规范请告诉我。谢谢^_^。

视图的作用:

(1)隐藏了数据的复杂性

(2)有利于控制用户对表中某些列的访问

(3)使用户查询变得简单。

2.索引的创建与使用

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. create index testindex on vehicle(number_id)    –创建索引  
  2. select * from vehicle where number_id = ‘豫HPU579’  
  3. drop index vehicle.testindex                –删除索引  

(1)索引的创建,使数据的查询变得很快,大大减少了查询时间,在数据总量较少的情况下看不出来,测试插入 200,000条记录到表 vehicle中,通过 getdate()函数计算出创建索引前随机的查询表中的一条记录耗时56毫秒,创建索引后用时3毫秒。

《15个初学者必看的基础SQL查询语句》

《15个初学者必看的基础SQL查询语句》

《15个初学者必看的基础SQL查询语句》

(2)索引描述:

用户对数据库最频繁的操作是进行数据查询。一般情况下,数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力,数据库引入了索引机制用户对数据库最频繁的操作是进行数据查询。

——————————– Sixth——————————–

六、触发器

1.触发器的创建与删除

[sql]
view plain
copy

《15个初学者必看的基础SQL查询语句》
《15个初学者必看的基础SQL查询语句》

  1. create trigger testtri on vehicle for insert,update,delete as  
  2. begin  
  3.     print(‘你对表 vehicle 进行了操作’)  
  4. end         –创建触发器  
  5.   
  6. drop trigger testtri    –删除触发器  

此时在执行删除插入或更新操作,控制台会输出提示语句。触发器的创建实现了对表记录的操作进行监听。

效果如下:

《15个初学者必看的基础SQL查询语句》

触发器就是可以在执行某操作前或某个事件触发而执行的操作。

2.触发器的作用

百度给出的作用:

(1)可在写入数据表前,强制检验或转换数据

(2)触发器发生错误时,异动的结果会被撤销

(3)部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为 DDL触发器

(4)可依照特定的情况,替换异动的指令

    原文作者:SQL
    原文地址: https://blog.csdn.net/qq_18353611/article/details/53160044
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞