SQL数据库语法学习笔记

最近碰到了一个项目,需要使用上SQL数据库区存取数据,发现只会用一些基本的指令根本无法在项目中自由操作我想要的结果,然后,重新上网整理了一遍数据库的指令集合语法。

1.最基本的增删改查指令

指令作用
insert插入数据
delete删除数据
select查找数据
update修改/更新数据

基本上绝大多数的数据库操作都是按照上述的四条指令构成的。

2.Select 查找指令

select指令我个人认为是最重要的,所以先把这个点先解析一下。

操作动作指令
遍历出来所有值select *(所有列) from tablename(表名称)
指定遍历某列或多列select colunm_name(列名) from tablename
通过条件(where)去筛选满足条件的数据select *(所有列) from tablename where colunm_name = ‘xxxx’(文本)或者select *(所有列) from tablename where colunm_name = xxxx(整数)
多个条件(and 或者 or)去筛选数据select *(所有列) from tablename where (colunm_name = ‘xxx’ or colunm1_name = ’ xxx’)and colunm_name=‘xxxx’
通过通配符(Like)去适配(%,_,[])select *(所有列) from tablename where colunm_name=’%xx’
对数据表进行排列order by(升序)或者order by xxx desc(降序)select * from tablename order by 列名/ order by 列名 desc
获取列中的不同选项select distinct colunm_name from tablename
规定某列满足多个值(in)select *(所有列) from tablename where colunm_name in(value1,value2,value3,…)
把一个表中的数据插入另一个表中select *(所有列) into newtablename from oldtable (where xxx)
同时检索两个表(通常主键primary key和外键)select *tableonename.xxx(列名),tabletwoname.xxx from tableonename(表名),tabletwoname where tableoneonename.number = tabletwoname.number

上面的表格只是指令的模板,但是很多时候需要通过一些实例才能使一些范例吃透,才能举一反三,所以接下来我通过一些简单的实例去演示上述模板。

首先创建一个表

create table if not exists studenttable( ID integer primary key,Name vchar(20) not null,Class vchar(10) not null,Score int)"
 //primary key 主键
 //autoincrement 自动递增
 //not null 不能为空

1.打印出表中的所有内容

 select * from studenttable
学号姓名班级成绩
164001小明3班80
164002小山2班60
164003小妮2班73
164004小赟4班40

2.只把学号和姓名打印出来

select ID,Name from studenttable
学号姓名
164001小明
164002小山
164003小妮
164004小赟

3.满足班级是2班的

select * from studenttable where Class = '2班'
学号姓名班级成绩
164002小山2班60
164003小妮2班73

4.满足班级是2班的同时成绩大于60

select * from studenttable where Class = '2班' and Score > 60
学号姓名班级成绩
164003小妮2班73

5.筛选姓名中带‘妮’字的学生

select * from studenttable where Name=%妮’
学号姓名班级成绩
164003小妮2班73

6.满足班级是3班或者4班的同学

select * from studenttable where Class in('3班','4班')
学号姓名班级成绩
164003小妮2班73
164004小赟4班40

7.通过在一个表中指定学号去检索另外一个表中(重要)
先创建另一个表

create table if not exists awardstable( ID integer,Awards vchar(10) not null)"
学号奖项
164003一等奖
164006二等奖
164008三等奖
164002三等奖
select studenttable.Name,awardstable.Awards from studenttable,awardstable where studenttable.ID = awardstable.ID
学号奖项
小妮一等奖
小山三等奖

8、通过班级获取有多少个班级

select distinct Class from studenttable
班级
2班
3班
4班

delete 删除指令

操作动作指令
删除所有数据delete from tablename(表名) /delete * from tablename
删除表中某列的等于特定的值delete from tablename(表名) where colunms_name = ‘xxxx’

接上述的学生表的例子
1.清空学生表(只是清空数据,数据和结构依然存在)

delete from studenttable

2.删除表中2班的同学

delete from studenttable where Class = '2班'
学号姓名班级成绩
164003小妮2班73
164004小赟4班40

未完待续。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赟赟、嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值