Tips:仅列了主要语法
目录
1. SQL简介
-
SQL全称是Structured Query Language,结构化查询语言,它可以用来访问和操作数据库,是为了管理关系型数据库而设计的语言。而其操作的对象就是数据库中的表,表中有很多列和行,通常每列第一行为这一列的标识,代表这一列是什么,其他行则储存数据。
-
注意,SQL对大小写不敏感。
-
SQL可以分为两个部分,数据操作语言(DML)和数据定义语言(DDL) DML:
- SELECT:从数据表中获取数据
- UPDATE:更新数据表中的数据
- DELETE:从数据表中删除数据
- INSERT INTO:向数据表插入数据
DDL:
- CREATE DATABASE:创建数据库
- ALTER DATABASE:修改数据库
- CREATE TABLE:创建表格
- ALTER TABLE:修改表格
- DROP TABLE:删除表格
- CREATE INDEX:创建索引
- DROP INDEX:删除索引
2. SQL基本语法
2.1 select
select用于从表中选取数据
select 列名称 from 表名称- 用
*替代列名称,可快速查询所有的列- 用
select distinct 列名称 from 表名称来返回列中不同的值,即不返回列中重复的值- 用
select 列名称 from 表名称 where 列名称 运算符 值来对select添加限制条件,其中运算符可以是=、<>、>、<、>=、<=、between、like,即用于返回满足限制条件的值- 文本值需用单引号括起,数值不用
- 在
where中用and和or来增加限制条件,and为需要满足两个,or只用满足其中一个
2.2 Order By
order by可用于对指定列进行排序,默认是升序排序
SELECT 列名 FROM 表名 ORDER BY 列名,按照字母顺序升序排列SELECT 列名 FROM 表名 ORDER BY 列名 DESC,按照字母降序排列SELECT 列名,列名,列名 FROM 表名 ORDER BY 列名,列名,列名,可以一次选择多列进行排序,优先按照前面的列名先排列
2.3 Insert InTo
Insert InTo用于向表格插入新的行
insert into 表名称 values(值1,值2,····),此方法用于直接插入新的行,自动匹配每一列insert into 表名(列1,列2,列3) values(值1,值2,值3),此方法用于指定列插入数据
2.4 UpDate
update用于修改表中的数据
update 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值,用于指定修改某处的值update 表名称 SET 列名称 = 新值,列名=新值,列名=新值 WHERE 列名称 = 某值,用于修改某一行的多列
2.5 Delete
delete用于删除表中的某一行
DELETE FROM 表名称 WHERE 列名称 = 值,指定删除某一行的所有值delete * from 表名称,删除这个表的所有行
2.6 Like
like用于在where中指定搜索模式
select 列名 from 表名 where 列名 like 模式,这个模式可以有,比如:'%N',指定搜索以N开头的值,'%g',以g结尾的值,'%lon%',搜索包含lon的值。select 列名 from 表名 where 列名 not like 模式,搜索不是此模式的值
2.7 Create Database
用CREATE DATABASE database_name创建一个数据库
2.8 Create table
用于创建一个表
create table 表名称
{
列名称1 数据类型,
列名称2 数据类型,
·····
}
```
其中,常用数据类型如下图所示:
2.9 Create Index
create index用于创建索引,索引对用户不可见,但可以使数据库应用程序可以更快的查询数据。但是,更新一个包含索引的表比不包含索引的表要花更多时间,因为索引也需要更新,所以只在常常被搜索的列上创建索引
create index 索引名 on 表名(列名)
2.10 Alter
alter用于在已有表中添加,修改,删除列
alter table 表名 add 列名 数据类型,用于添加列,并指定数据类型alter table 表名 drop column 列名,用于删除指定列alter table 表名 alter column 列名 数据类型,用于改变列的数据类型
2.11 Drop
drop可删除表中的索引,删除整个表,删除数据库和仅删除表中数据
ALTER TABLE 表名 DROP INDEX 索引名,用于删除索引DROP TABLE 表名称,用于删除整个表DROP DATABASE 数据库名称,用于删除数据库TRUNCATE TABLE 表名称,用于删除表内数据,而不是删除表