mysql rdms 笔记

less than 1 minute read

创建表

mysql> create table test(name varchar(20) not null);
mysql> alter table test add column id int auto_increment not null, add primary key(id);
mysql> describe test;

插入数据到表格

insert into userlist( name, type, description ) values( 
    "${getParseData.name}", 
    "${getParseData.type}", 
    "${getParseData.description}" 
)

删除字段

delete from userlist where (name = "${getParseData.name}") and (age > 18)

Note:之前from进入查询提取列表的排列信息, where进入查询特定子集, where命令使用逻辑运算符指定要返回那些行如WHERE nameValue = 369, 如果是字符串使用”引号, 数字不需要引号. 模糊查询多个子集, 使用括号分割每个逻辑字段, 其中括号分割使你查询更容易理解, andor 命令进行组合多个逻辑条件.

查询最后一条

select id from table where id>1,name=1 order by id desc limit 1

Note:了解最后一个命令 order by, 这个命令允许我们在给定的列上对数据库进行排序, 后面给需要排序字段的名称. 默认情况下, 按照升序排列; 其中asc为升序如ORDER BY id asc, desc为降序如ORDER BY id desc. 其中给定命令limit为输出限制 1 行数量.

查询一条记录($id)的下一条记录

select * from table where id>$id  order by id asc limit 1

查询前n行记录

select * from table limit 0,n;

查询多个字段的模糊搜索


select * from user where realname like '%龙%' and realname like '%文%'

Note:中间命令like

模糊查询加分页

select * from userlist where name like "%${search_data}%" 
    and id limit ${10 * (page_index-1) } , ${10}

多表查询

select userList.name, testList.type
from userList
INNER JOIN testList
ON userList.member_id = testList.member_id

Note:列表和字段关联编写..使用逗号分隔表名和列名,如select name, type from会写成select userList.name, testList.type from, 此处关联表名表示告诉数据库要查找每个表来查找每个表的列.from查找表名后面紧接着join指定应该连接哪些表并on指定每个表中哪些列是相关的.

总结: 了解重要的命令 select where limit order by join