1、SQL学习记录
1.1、第一讲
基本SQL语句select语法
select [查找内容] from [表] where [表字段]=[值] order by [字段]
例:
数据库表结构如下: 人员表
ID 姓名 年龄 1 张三 10 2 李四 20
要查找张三
select * from 人员表 where 姓名='张三'
查找年龄大于15岁的
select * from 人员表 where 年龄>15
若要将查询结果按照年龄升序排列
select * from 人员表 where 年龄>15 order by 年龄 asc 降序
select * from 人员表 where 年龄>15 order by 年龄 desc
若只要数据表中的姓名字段 则
select 姓名 from 人员表 where 年龄>15 order by 年龄 asc
1.2、第二讲
基本SQL语句insert语法
insert into [表名](字段1,字段2,字段3,…) values(值1, 值2, 值3,…)
例:
数据库表结构如下: 人员表
ID 姓名 年龄 1 张三 10 2 李四 20
要向表中插入一条数据
Insert into 人员表(ID,姓名,年龄) values(3,’王五’,30) 注意在插入值的时候,数字不要加单引号,字符要加
1.3、第三讲
基本SQL语句update语法
update [表名] set 字段1=值1,字段2=值2,字段3=值3,… where [字段]=值 例:
数据库表结构如下: 人员表
ID 姓名 年龄 班级 1 张三 10 一班 2 李四 20 二班 3 王五 30 二班
要将所有人的班级修改为一班 Update 人员表 set 班级=’一班’
要将王五的年龄更改为25岁
Update 人员表 set 年龄=25 where 姓名=’王五’
要修改张三的名字为张老幺,年龄改为15
Update 人员表 set 姓名=’张老幺’,年龄=15 where 姓名=’张三’
1.4、第四讲
基本SQL语句delete语法
delete from [表名] where [字段1]=值1 and [字段2]=值2 例:
数据库表结构如下: 人员表
ID 姓名 年龄 班级 1 张三 10 一班 2 李四 20 二班 3 王五 30 二班
若要删除王五这个学生
Delete from 人员表 where 姓名=’王五’
若要删除年龄大于20岁的
Delete from 人员表 where 年龄>20
若要删除姓张的,并且年龄大于20的
Delete from 人员表 where 姓名 like ‘张%’ and 年龄>20
这里出现了 like和% 下一讲介绍者2个字符的意义
1.5、like和%
在SQL中,like和=号的使用方法相同,但还是有所不同。使用方法如下:
例:
数据库表结构如下: 人员表
ID 姓名 年龄 班级 1 张三 10 一班 2 李四 20 二班 3 王五 30 二班
4 刘四麻 40 三班
要查找姓名为张三的人员的两种方法: Select * from 人员表 where 姓名=’张三’ Select * from 人员表 where 姓名 like ‘张三’
讲讲区别
Like可以与通配符%配合使用,而=号则不能,要查找姓名中姓张的人,使用=号就不可以,需要使用like比较字符。
Select * from 人员表 where 姓名 like ‘张%’ 查找名字中带有四的
Select * from 人员表 where 姓名 like ‘%四%’ 查找姓名以五结尾的人
Select * from 人员表 where 姓名 like ‘%五’
1.6、使用count、sum、min、max、avg函数
在SQL中,可以使用一些函数进行简单的数据运算,上述函数就是其中的一部分,意思如下:
Count() 求总数 Sum() 求和
Min() 最小 Max() 最大 Avg() 平均
使用方法如下:
Select [函数(字段)] from [表] where [条件]
例:
数据库表结构如下: 人员表
ID 姓名 年龄 班级 1 张三 10 一班 2 李四 20 二班 3 王五 30 二班 4 刘四麻 40 三班
要查询数据库中所有记录条数 Select count(*) from 人员表
要查询名字中带有四的总人数
Select count(*) from 人员表 where 姓名 like ‘%四%’
要查询最大、最小、平均年龄 Select max(年龄) from 人员表 Select min(年龄) from 人员表 Select avg(年龄) from 人员表
1.7、使用distinct和非distinct剔重的方法
在SQL中提供了一种剔除重复的谓词,distinct,在使用方法如下: Select distinct [字段] from [表] where [条件]
例:
数据库表结构如下: 人员表
ID 姓名 年龄 班级 1 张三 10 一班 2 李四 20 二班 3 张三 10 一班 4 刘四麻 40 三班
要剔除表中重复的张三,写法如下:
Select distinct 姓名 from 人员表
这句查询执行的结果为 姓名 张三 李四 刘四麻
如果想要得到完整的表,可以采用分组、in等方法,但是由于各种数据库使用的方法不同,下面第一条、第二在在实际运行过程中可能出现出错,需要根据各数据库的不同语法进行修改。
Select *,count(distinct 姓名) from 人员表 group by 姓名
Select * from 人员表 group by 姓名
Select * from 人员表 where 姓名 in (select distinct 姓名 from 人员表) 这里出现的in将在后面进行讲解
1.8、多表组合查询
Select [表1].[字段1],[表2].[字段2]…,[表2].[字段1],[表2].[字段2] from [表1],[表2] where [表1].[字段] = [值] and [表2].[字段] = [值]
例:
数据库表结构如下: 人员表
ID 姓名 年龄 班级 1 张三 10 一班 2 李四 20 二班 3 王五 30 二班 4 刘四麻 40 三班
成绩表
ID 姓名 班级 语文 数学 英语 1 张三 一班 90 80 90
2 李四 二班 50 70 93
要查询一班张三的年龄、语文、数学成绩,则使用语句如下:
Select 人员表.姓名,人员表.年龄,成绩表.语文,成绩表.数学 from 人员表,成绩表 where 人员表.姓名=’张三’ and 人员表.班级=’一班’ and 人员表.姓名=成绩表.姓名
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库每日教学SQL部分基本语法在线全文阅读。
相关推荐: