关系型数据库(RDBMS
):建立在关系模型基础上,由多张相互连接的二维表组成的数据库
特点:使用表存储数据,格式统一方便维护;使用SQL语言操作,标准统一使用方便
通用语法:
- SQL语句可以单行或者多行书写,分号结尾;
- 不区分大小写
- 注释:单行注释(-- 或 #),多行注释(/* 内容 */)
SQL语句通常分为4大类: - DDL 数据定义语言:定义数据库对象(数据库 ,表, 字段)
- DML 数据操作语言:数据增删改
- DQL 数据查询语言:查询数据库中表的记录
- DCL 数据控制语言:创建数据库用户、控制数据库的访问权限
DDL
sql
show databases; --查询所有数据库
select databases; -- 查询当前数据库
use databaseName; -- 使用指定名称数据库
creat database [if not exists] databaseName; -- 创建数据库
drop database [if not exists] databaseName; -- 删除数据库
--database 可以替换为schema
-- 表的创建
creat tabel tableName(
字段名1 字段类型[约束][comment 字段1注释说明],
.......
字段n
)[comment 表注释说明]
# 约束关键字
not null;unique; default;
primary key; --主键,非空且唯一 auto_increment 自增默认1
foreign key; -- 关联表
# 字段类型
tinyint int bigint --数值类型,满足需求下越小越好
char varchar(10) -- varchar 变长字符串,最多10,随着输入变化
date time datetime -- 年月日 时分秒
--表的查询、修改、删除
show tables; --查询
drop table [if not exists] --删除
alter table tableName add 字段名qq varchar(11) comment 'QQ'; --添加字段
alter table tableName modify 字段类型; --修改字段类型 相当于重新声明
alter table tableName drop column 字段名; --删除字段
rename table tableName to newtableName ; --修改表名
DML
sql
--------------------增insert----------------------------
insert into 表名(字段名1, 字段名2) values(值1, 值2); --指定字段
insert into 表名values(值1, 值2, 值3,......); --全部字段
--------------------删delete----------------------------
delete from tableName [where condition];--删除表中符合条件的数据
--------------------改update----------------------------
update tableName set 字段名1=值1, 字段名2=值2,............[where condition];
update tableName set 字段名1=值1, 字段名2=值2,......... --不加条件直接对整个表格修改
基础使用掌握以上即可
DQL
sql
--------------------基本查询----------------------------
select 字段名1, 字段名2.........from tableName; --查询指定字段
select *from tableName --查询返回所有字段
select 字段名1 [as 别名], 字段名2[别名]....from tableName; --设置字段别名
select distinct 字段名 from tableName; --去除重复记录
--------------------条件查询----------------------------
select *from tableName where condition; -- >= and like(_ &)
--------------------分组查询----------------------------
select count(*) from tableName --统计数量; min(字段名) max avg sum
--------------------排序查询 order by----------------------------
order by 字段名1 排序方式, 字段名2 排序方式; -- ASC默认升序 DESC降序
--------------------分页查询 limit----------------------------
limit 起始索引, 查询记录数; -- 起始索引=(页码-1)*查询记录数
--------------------多表查询----------------------------