自动做图在线网站,怎么做网站网站推广,强化防疫指导,网站建设合同标的CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。且增删改查#xff08;CRUD#xff0c;create#xff0c;retrieve#xff0c;update#xff0c;delete#xff09;数据库的核心模块。
1. 新增#xff08;Create#xff09; 实… CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。且增删改查CRUDcreateretrieveupdatedelete数据库的核心模块。
1. 新增Create 实际上sql中使用insert来往表里插入数据确保已经选中数据库并创建好相应的表 Insert into 表名 values列列…..; //这里给出的列的数目和类型与之前创建的表里面的相关信息要匹配。 1.1 单行数据 全列插入 代码如下
-- 插入两条记录table表数量必须和定义表的列的数量及顺序一致
insert into chengyuan values (1,沈梦瑶);
insert into chengyuan values (1,袁一琦);结果如下 2、查询Retrieve
2.1 单次插入多行数据 指定列插入 1、一次插入多行 在values后面写多组就可以代码如下
//-- 插入两条记录value_list 数量必须和指定列数量及顺序一致
insert into chengyuan values
(2,袁一琦),
(3,王奕); 结果如下 2、指定列进行插入可以进行操作成功。代码如下
//将成员表的id指定为4的信息插入insert into chengyuan (id ) values (4); 结果如下 注意在控制台中我们可以通过向上和向下的方向键来显示我们上一行命令。
2.2 全列查询 操作指令及注意事项如下
// 通常情况下不建议使用 * 进行全列查询
// 1. 查询的列越多意味着需要传输的数据量越大
// 2. 可能会影响到索引的使用。索引待后面课程讲解
SELECT * FROM 表名; 结果展示 2.3 指定列查询 调整表固定列的参数顺序 语法如下
//指定列的顺序不需要按定义表的顺序来
SELECT name, id FROM chengyuan;结果展示 2.4 查询字段为表达式 语法如下
//指定列的顺序不需要按定义表的顺序来
SELECT id, id10,name FROM chengyuan;结果如下 2.5 设置为别名查询 为查询结果中的列指定别名表示返回的结果集中以别名作为该列的名称语法如下
SELECT id,name ,id100 AS 总分 FROM chengyuan;结果如下 当前表达式查询并没有修改服务器上硬盘中存储的数据本体只是在查寻结果的基础上进行运算的得到的是一个临时表。当这个操作结束这里的数据就会消散这里的数据库本体不会发生改变-select操作不会改硬盘上的原始数据带来改变。此处查询出来的临时表每个列的类型不在受限于原始表。
2.6 去重DISTINCT 使用DISTINCT关键字对某列数据进行去重 1、对一个列使用去重使用语法如下
SELECT DISTINCT id FROM chengyuan;结果展示 2、 对多个列使用去重当两个列都有着相同的数据才会进行合并否则只有一个列相同数据不会发生合并使用语法如下
SELECT DISTINCT name,id FROM chengyuan; 结果展示 2.7 排序ORDER BY
2.7.1 简单的升降序排序 语法格式
// ASC 为升序从小到大
// DESC 为降序从大到小
// 一般默认为 ASCselect 列名 from 表名 order by 列名注意order是一个关键字 最后一个列名就是排序的依据不一定出现在select的列名中order by也是针对临时表进行排序 如果一个查询语句没有order by此时查询到的临时表数据之间的顺序是不可以期望的。mysql没有承诺一定要保持一种顺序一定是要使用order by才能够明确制定一个顺序。 NULL 数据排序视为比任何值都小升序出现在最上面降序出现在最下面; 操作代码 1、升序默认asc 通过id对于数据信息进行升序排序 select * from chengyuan order by id; 2、降序desc 通过id对于数据信息进行升序排序 select * from chengyuan order by id desc; 2.7.2 使用表达式及别名排序 使用表达式语法 select id 100,name,id from chengyuan order by id desc; 使用别名 select id ,name,id 10 newId from chengyuan order by id desc; 2.7.3 可以对多个字段进行排序排序优先级随书写顺序 语法展示 select * from chengyuan order by name,id desc; 1、使用字符串name进行排序但是排序的内容不是按照中文字典进行排的序。 2、Order by可以指定多个列来进行排序在指定多个列的时候也是有优先级的前面的列优先级高后面的列优先级低。当优先级列的数值相同的时候才会比较优先级低的列。 2.8 条件查询WHERE
2.8.1 运算符的介绍 比较运算符如下图所示 逻辑运算符 注意事项 WHERE条件可以使用表达式但不能使用别名。 AND的优先级高于OR在同时使用时需要使用小括号()包裹优先执行的部分案例 2.8.2 基本查询 //查询id小于3的成员的名字( id 60 )
SELECT name FROM chengyuan WHERE id 3; 结果如下图所示 2.8.3 AND与OR 语法如下 //查询id大于1分且id小于4的成员
//也可以使用between。。。and的语句使用详见于后面
SELECT * FROM chengyuan WHERE id 1 and id 4;//查询id小于1分或id大于3的成员
SELECT * FROM chengyuan WHERE id 1 or id 3; 结果如下图所示 2.8.4 范围查询 BETWEEN … AND … 语法如下 //查询id大于1分且id小于4的成员
//也可以使用between。。。and的语句使用
SELECT * FROM chengyuan WHERE id between 1 and 3; 结果展示 IN 语法代码 // 查询id是 1 或者 2 或者 3 的成员
SELECT * FROM chengyuan WHERE id IN (1, 2, 3); 结果展示 2.8.5 模糊查询LIKE 代码如下 // % 匹配任意多个包括 0 个字符
SELECT name FROM chengyuan WHERE name LIKE 王%;-- 匹配到孙悟空、孙权// _ 匹配严格的一个任意字符
SELECT name FROM chengyuan WHERE name LIKE 王_;-- 匹配到孙权结果展示 2.8.6 NULL 的查询 IS [NOT] NULL 语法如下 // 查询 name已知的同学姓名
SELECT * FROM chengyuan WHERE name IS NOT NULL;// 查询 name未知的同学姓名
SELECT * FROM chengyuan WHERE name IS NULL; 结果展示 2.9 分页查询 LIMIT 关键字的用法 关键字limit来限制这次请求返回多少个记录一页里面有几条 分页查询则是最合适的能解决上述问题的方案分页查询可以限制这一次查询最大查多少个记录。 -- 起始下标为 0-- 从 0 开始筛选 2 条结果
SELECT * FROM chengyuan LIMIT 2;-- 从 2 开始筛选 2 条结果
SELECT * FROM chengyuan LIMIT 2, 2;-- 从 s 开始筛选 n 条结果比第二种用法更明确建议使用
SELECT * FROM chengyuan LIMIT 2, OFFSET 2;结果如下 3. 修改Update update的操作都不是临时表都是改为硬盘数据了且Update也是一个危险的操作sql没有相关的撤回操作。无论是备份还是恢复都是有成本的因为数据库里面数据很多同时再恢复数据库的时候数据库无法给外界提供服务相当于数据库宕机。 语法格式
Update 表名 set 列名 值 where 条件 语法代码 // 将zhoushiyu的id变更为 0
UPDATE chengyuan SET id 0 WHERE name zhoushiyu;-- 将id变为 0的成员改为曾艳芬
UPDATE chengyuan SET name 曾艳芬 WHERE id 0; 操作结果 where 条件指的是修改哪一行 我们进行修改要定位到行和列在进行修改。如果不写条件就是针对所有的行和列。 4. 删除Delete Delete from 表名 where 条件、order by 、limit把条件匹配符合要求的记录给删除掉 //删除id 2 的袁一琦这一行的chengyuanbiao
delete from chengyuan where id 2; 结果展示 Drop table是吧表本身和表里的数据都给删除了 Delete只是把表里的数据删除了。
ps本次的内容就到这里了如果大家感兴趣的话就请一键三连