关系型数据库的SQL语句
关系型数据库(SQL)和非关系型数据库(NoSQL)的语句不一致,它们在操作语言上有显著差异。
关系型数据库有MySQL,Oracle,SQLite等,这里以MySQL数据库为例。
创建和删除(create、drop)
表在数据库中一共分为三种:永久表、临时表、虚拟表。
永久表:使用create table创建的
虚拟表:使用create view 创建的。虚拟表也叫视图,,可当做永久表的截图使用,可做修改但不建议修改。
临时表:用子查询查询出的表。
create database 数据库名称; #创建数据库
use 数据库名称; #使用数据库
create table 表名; #创建永久数据表
create view 虚拟表表名 as select 列名 from 永久表表名; #创建虚拟表,as是关联查询语句
select * from (select 列名 from 表名) a; #此方法查询出的表就是临时表
drop database 数据库名; #删除数据库
drop table 虚拟表表名; #删除永久数据表
drop view 表名; #删除虚拟表
增(insert)
insert into 表名(指定表头) values(要添加的内容);
# values中药添加的内容需要和前边写的表头一一对应
# 如果不指定表头,单独写一个表名的话,在values中需要添加所有的表头所对应的值。
删(delete)
delete from 表名 where 限定条件;
# 删除表中符合限定条件的行
改(update)
update 表名 set 列名='值' where 限定条件;
# 更改符合限定条件的表的指定列的值
查(select)
查询是数据库操作中最常用的操作,其中限定条件的书写最为重要,常用的关联词有where,in ,not,between and, or,and,like等
select 列名 from 表名 限定条件;
# 根据限定条件查询表中的列
常用链接条件 | 含义 |
---|---|
where | where后添加限制条件 |
distinct | 去除查询出的重复的内容 |
in | 表示在其中的意思 |
is not | 判断单元格状态 |
not = /<>/!= | 判断数据 |
between A and B | 相对于>和<比较来说是优化查询语句。A一定比B小,否则查询无结果 |
limit n | 限制输出n 行 |
like ‘%a%’ | 模糊查询包含a的字符串,不区分字母大小写。(a%表示以a开头的,%a表示以a结尾的。_表示一个任意字符,%表示任意多个字符。) |
order by 列名 | 根据列名进行排序 |
group by 列名 | 根据列名进行分组 |