SELECT – 从数据库中提取数据
UPDATE – 更新数据库中的数据
DELETE – 从数据库中删除数据
INSERT INTO – 向数据库中插入新数据
CREATE DATABASE – 创建新数据库
ALTER DATABASE – 修改数据库
CREATE TABLE – 创建新表
ALTER TABLE – 变更(改变)数据库表
DROP TABLE – 删除表
CREATE INDEX – 创建索引(搜索键)
DROP INDEX – 删除索引
1增
1.1【插入单行】
insert [into] <表名> (列名) values (列值)
例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15')
1.2【将现有表数据添加到一个已有表】
insert into <已有的新表> (列名) select <原表列名> from <原表名>
例:insert into tongxunlu ('姓名','地址','电子邮件')
select name,address,email
from Strdents
1.3【直接拿现有表数据创建一个新表并填充】
select <新建表列名> into <新建表名> from <源表名>
例:select name,address,email into tongxunlu from strdents
1.4【使用union关键字合并数据进行插入多行】
insert <表名> <列名> select <列值> tnion select <列值>
例:insert Students (姓名,性别,出生日期)
select '开心朋朋','男','1980/6/15' union(union表示下一行)
select '蓝色小明','男','19**/**/**'
2删
2.1【删除<满足条件的>行】 delete from <表名> [where <删除条件>]
delete from a where name='开心朋朋'(删除表a中列值为开心朋朋的行)
2.2【删除整个表】 truncate table <表名> truncate table tongxunlu
注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用语有外建约束引用的表~~
3改
update <表名> set <列名=更新值> [where <更新条件>]
例:update tongxunlu set 年龄=18 where 姓名='蓝色小名'
4查
LIMIT是MySQL内置函数,其作用是用于限制查询结果的条数。
1)其语法格式如下:
LIMIT[位置偏移量,]行数
其中,中括号里面的参数是可选参数,位置偏移量是指MySQL查询分析器要从哪一行开始显示,索引值从0开始,即第一条记录位置偏移量是0,第二条记录的位置偏移量是1,依此类推…,第二个参数为“行数”即指示返回的记录条数。
位置偏移量可以理解为跳过前xx条记录(元组).
2)基本用法
/当没有指定位置偏移量时,只取4条时,可以这样写/
SELECT * FROM YourTableName LIMIT 4;
/当指定了位置偏移量时,从第3条起取4条时,可以这样写/
/因为索引是从0开始计数的,所以第3条对应的索引就是2/
SELECT * FROM YourTableName LIMIT 2,4;
3)应用场合:分页
// 后台计算出页码、页数(页大小)
int curPage = 2;
int pageSize = 10;
int startRow = (curPage - 1) * pageSize;
SELECT * FROM YourTableName LIMIT startRow,pageSize;
关于时间格式和时间段查询
SELECT *
FROM <表名>
WHERE group_id = 1875 AND #修改设备ID
DATE(logtime) BETWEEN '2018-08-31' AND '2018-08-31' #修改日期
AND
DATE_FORMAT(logtime,'%H:%i') BETWEEN '09:00' AND '18:00' #修改时间
AND pic_url like '%_'FACE.jpg%'
补充:
sql E-R关系之中 一对一 一对多 多对多
一对一是 一对多中的特例 一一对应
一对多 在Django 的models中 使用外键来定义 (外键的本质就是表达1对多的关系)
一对多 则通过建立第三张关系表来表示
比如 用户 角色 权限
一个用户 对应一个角色 而 一个角色 可以对应多个用户 因此 用户 角色之间为1 对多的关系
user | root_id |
---|---|
A | 1 |
B | 1 |
C | 2 |
id | root |
---|---|
1 | 管理员(超级用户) |
2 | 游客 |
3 | 作者 |
一个角色 对应多个权限 而一个权限 也可以对应多个角色 因此 角色 和权限 之间 对 多对多的关系
id | root |
---|---|
1 | 管理员(超级用户) |
2 | 游客 |
3 | 作者 |
id | permission |
---|---|
1 | 全局可读改 |
2 | 只读 |
3 | 可改 |
角色权限表 用两表的主键组合 作为唯一主键
root_id | permission_id |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |