大家可以关注下我的微信公众号

SQL数据操作简单笔记

程序开发 admin 1227℃ 0评论

一、SQL插入数据及应用

1、INSERT INTO 语句用于向表格中插入新的行。

2、INSERT INTO 表名称 VALUES (值1, 值2,….)

我们也可以指定所要插入数据的列:

3、INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….)

insert into stu (id,name,age) values (newid(),’tom’,18)

insert into stu(id,name,age) values(newid(),’to’,19)

注意:如果guid类型主键的默认值为newid()就会自动生成

(1)、将下列信息添加到读者表的代码;

101101 王林 男 1990-12-01 计算机 01

INSERT INTO 读者表

(借书证号,姓名,性别,出生年月,专业,读者类型)

VALUES

(‘101101′,’王林’,’男’,’1990-12-01′,’计算机’,’01’)

二、SQL更新数据及应用

1、Update 语句用于修改表中的数据。

语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

2)、修改 借书证号为101102的读者性别为:男,

— 出生年月为:1989-08-02;

UPDATE 读者表 SET 性别=’男’,出生年月=’1989-08-02′

WHERE 借书证号=’101102′

三、SQL删除数据及应用

DELETE 语句用于删除表中的行。

语法

DELETE FROM 表名称 WHERE 列名称 = 值

(5)、删除 借书证号为101102的读者信息;

DELETE 读者表 WHERE 借书证号=’101102′

四、SQL查询及应用

一、单表查询:简单查询、对查询结果进行分组统计

1、简单查询

1.1、选择所有字段:

use 数据库名称

select * from 数据表名

例如

use stu

select * from student

1.2、

选择部分字段:use 数据库名称 select 字段1,字段2,字段3 from 数据表名

例如: use stu

Select 学号,姓名,性别 from student

1.3、不显示重复记录

Distinct关键字就是用来从查询的结果集中去掉重复的记录。例如

在student表中,显示没有重复记录的姓名(s_name)字段的信息

Use stu

Select distinct s_name form student

1.4、top关键字:可以限制查询结果显示的行数 例如

Use stu

Select top 3* from student

1.5、where条件查询

一个表通常会有成千上万条记录,用户感兴趣的可能只是其中的一部分记录,这时需要使用where子句指定一系列的查询条件,例子在以下的in关键字中等都有体现

1.6、in关键字:当测试一个数据值是否匹配一组目标值时,通常使用

In关键字来指定列表搜索条件

Use stu

Select * from course

Where s_id in(004,005,006)

1.7、like关键字通配符%

例如,在student表中,查找姓“刘”的学生信息

Use stu

Select * from student where s_name like ‘刘%’

1.8、Order by排序

A、只是一个字段的排序:

Use stu

Select *from student

Order by s_num desc

B、有两个字段的排序

Use stu

Select * from student

Order by s_classid asc, s_sex

Desc 降序排列

Asc 升序排列

1.8group by分组查询

A、在select子句的字段列表中,除了聚合函数外,其他所出现的字段一定要让group子句中有定义才行,例如group by A,B前出现“select sum(A)C”就会出现问题,因为c不在group子句的字段列表中

B、select子句的字段列表中不一定要有聚合函数,但至少要用到group by子句列表字段中的一个项目,如group by A,B前出现select A则是可以的

C、group by子句不能使用字段别名

例子:

Use stu select s_sex,s_name

From student

Group by s_sex

2、对分组结果进行统计

聚合函数:sum()和,avg()平均值,min()最小值max()最大值 count(*)统计全部记录个数

例子:

Sum()

Use stu

select sum(s_grade)

From stucourse

avg()

Use stu

select avg(s_grade)

From stucourse

Min()

Use stu

Select min(s_grade)

From stucourse

Max()

Use stu

select max(s_grade)

From stucourse

Count(*)

Use stu

Select count(*)

From student

注意:having:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

例子:

在stucourse表中,查询选修了两门课以上的学生学号

Use stu select

S_num from stucourse

Group by s_num

Having count(*)>2

二、多表查询

1、嵌套查询

在course和stucourse表中,查询课程成绩为94分的课程信息

Use stu

Select * from course

Where cs_id=(select cs_id from stucourse where sc_grade=94)

2、合并查询

A、unoin和union all

把系部表中的系部代码和系部名称与班级表中的班级代码和班级名称合并

Use stu

Select d_id,d_name from department

Union

Select c_id,c_name

From class

B、union all

Use stu

Select d_id,d_name from department

Union all

Select c_id,c_name

From class

注意:union不加关键字all功能是它不删除重复行也不对行进行自动排序

小知识点:1、用as关键字给列名起别名

2、在对表做添加数据的修改中,若这个表正打开,而更新后还没有显示的时候就在此表中,点击右键,的执行sql语句,然后添加的表数据就出来了

转载请注明:程序人生 » SQL数据操作简单笔记

喜欢 (0)or分享 (0)