当前位置: 首页 > news >正文

夸克建站系统官网佛山制作网站公司吗

夸克建站系统官网,佛山制作网站公司吗,wordpress更改域名 后台,企业做网站的费用如何科目标题#xff1a;[MySQL初阶]MySQL#xff08;4#xff09;基本查询 水墨不写bug 文章目录 一. 数据表设计二、对数据表的操作1. Create 操作#xff08;插入数据#xff09;查看最近受影响的行数#xff1a; 2. Retrieve 操作#xff08;读取数据#xff09;#xff0…标题[MySQL初阶]MySQL4基本查询 水墨不写bug 文章目录 一. 数据表设计二、对数据表的操作1. Create 操作插入数据查看最近受影响的行数 2. Retrieve 操作读取数据1基本查询的用法2where子句详解i. 基本语法ii. 常用运算符比较运算符逻辑运算符模糊匹配LIKENULL 值比较 3order by子句详解i. 基本语法ii. 核心用法单列排序多列排序 4limit子句i. 基本语法ii. 核心用法(1) 获取前 N 条记录(2) 分页查询 3. Update 操作更新数据4. Delete 操作删除数据 三、总结 本文讲解MySQL数据库的表的基本查询操作CURD操作CRUD : Create(创建), Retrieve(读取)Update(更新)Delete删除 在这里我将首先创建一个数据表然后对这个表一边操作一边讲解。 一. 数据表设计 首先我们设计一个用户管理系统以它内部的 users 表为例表结构如下 CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 员工ID,username VARCHAR(50) NOT NULL UNIQUE COMMENT 名字,email VARCHAR(100) NOT NULL UNIQUE COMMENT 邮箱,password_hash CHAR(60) NOT NULL COMMENT 密码,created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 创建账户时间,last_login DATETIME COMMENT 最后一次登录时间,is_active BOOLEAN DEFAULT 1 COMMENT 用户是否活跃 );二、对数据表的操作 1. Create 操作插入数据 插入数据语法 单行数据全列插入 一次插入一行数据每次全列插入 insert into users(id,username,email,password_hash,created_at,last_login,is_active) values (1,zhangsan,123qq.com,60个字符,NOW(),NOW(),TRUE);多行数据指定列插入 -- 插入多行数据指定 username、email、password_hash、is_active 列 INSERT INTO users (username, email, password_hash, is_active) VALUES (lisi, 000ex.com, $2a$10$abc..., 1), -- 显式指定 is_active(sunwukong, wukongxe.com, $2a$10$xyz..., 0);为了方便起见这里我们假设插入一个较小的数据表。 插入冲突是否更新 insert into tb_name(name,qq) values(zhangsan,123) on duplicate key update name lisi,qq 234;插入数据 尝试插入一条记录name 为 ‘zhangsan’qq 为 ‘123’。 冲突处理 如果插入的数据与表中已有的 主键或唯一键 冲突例如 name 或 qq 字段有唯一约束则执行 UPDATE 操作。 将冲突记录的 name 更新为 lisiqq 更新为 234。 替换 replace into tb_name (name, qq) values (zhangsan, 123);插入数据 尝试插入一条记录name 为 ‘zhangsan’qq 为 ‘123’。 冲突处理 如果插入的数据与表中已有的 主键或唯一键 冲突例如 name 或 qq 字段有唯一约束则会 先删除冲突的行再插入新行。 注意REPLACE INTO 是 先删除再插入而不是更新。 查看最近受影响的行数 select row_count();可以查看最近受影响的行数。 2. Retrieve 操作读取数据 语法 SELECT column1, column2, ... FROM table_name [WHERE ...];这是最基本的查询方式在最基本的语句之间我们可选择加上一些选项。比较丰富的选项可以如下所示 select distinct(是否去重) */列名 from tb_name where 查询条件 order by 列名称 asc/desc(排序条件) limit(限定查询出来的数据的条目数);1基本查询的用法 全列查询 select * from tb_name;一般不推荐全列查询会输出整张表的所有内容对一个数据库数据量动辄上百万盲目全列查询会占用网络带宽并且导致刷屏或者机器死机一般需要用limit指定查询数据条目数。 指定列查询 select 列名称 from tb_name;指定某一列内容输出。 列间关系运算 查询的时候可以进行列间运算 select name,mathchineseenglish as total from tb_name;显示出来的是3列成绩的综合。其中as 代表重命名每一列都可以重命名 select name 姓名,math 数学,english 英语,math chinese english 总分 from tb_name;结果去重 select distinct math from tb_name;如果查询结果有重复比如有多个人得分95只显示一次95 2where子句详解 MySQL 的 WHERE 子句用于在查询中筛选符合特定条件的记录。它是 SELECT、UPDATE、DELETE 等语句的核心组成部分select帮助你选择了某一张表而where则是进一步选择表中符合要求的数据更直观的来说where字句类似于if条件判断。 i. 基本语法 SELECT 列名 FROM 表名 WHERE 条件; UPDATE 表名 SET 列值 WHERE 条件; DELETE FROM 表名 WHERE 条件;ii. 常用运算符 比较运算符 ,等于注意NULL不安全无法参与NULL比较如果想要与NULL值比较需要用NULL安全的 例如NULL NULL 结果为TRUE。SELECT * FROM users WHERE age 25; SELECT * FROM users WHERE address NULL;或 !不等于SELECT * FROM products WHERE price 或者! 100;、、、关系比较SELECT * FROM orders WHERE sum_amount 1000;BETWEEN ...AND...在范围内闭区间SELECT * FROM employees WHERE salary BETWEEN 300 AND 1000;IN匹配列表中的任意值SELECT * FROM customers WHERE country IN (China, Canada, Mexico);逻辑运算符 AND同时满足多个条件SELECT * FROM students WHERE age 18 AND grade A;OR满足任意一个条件SELECT * FROM products WHERE category aaa OR price 50;NOT否定条件SELECT * FROM employees WHERE NOT department HR;注意优先级AND 优先级高于 OR建议用括号明确逻辑SELECT * FROM table WHERE (condition1 OR condition2) AND condition3;模糊匹配LIKE %匹配任意多个字符包括零个SELECT * FROM books WHERE title LIKE The%; -- 以 The 开头_匹配单个字符SELECT * FROM users WHERE username LIKE user_; -- 如 user1, userA一句话总结 % 可以代表一个或者多个字符, _ 只能代表一个字符 NULL 值比较 IS NULL检查空值SELECT * FROM orders WHERE shipped_date IS NULL;IS NOT NULL检查非空值SELECT * FROM contacts WHERE phone IS NOT NULL;3order by子句详解 MySQL 的 ORDER BY 子句用于对查询结果进行排序可以按单列、多列或表达式排序并支持升序ASC或降序DESC排列。它是优化数据展示和分析的重要工具。 i. 基本语法 SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 排序列1 [ASC|DESC], 排序列2 [ASC|DESC], ...;位置ORDER BY 必须位于 WHERE 子句之后LIMIT 子句之前。默认排序如果不指定 ASC 或 DESC默认为 ASC升序。 ii. 核心用法 单列排序 -- 按工资升序排列 SELECT name, salary FROM employees ORDER BY salary;-- 按入职日期降序排列 SELECT name, hire_date FROM employees ORDER BY hire_time DESC;多列排序 按优先级依次排序用逗号分隔 -- 先按部门升序再按工资降序 SELECT name, department, salary FROM employees ORDER BY department ASC, salary DESC;表示先按照部门排序部门一样的再按照薪资排序。 4limit子句 MySQL 的 LIMIT 子句常与 ORDER BY 结合使用用于在排序后的结果中筛选出特定范围的数据如分页查询、获取前 N 条记录。以下是两者的协同用法和关键细节 i. 基本语法 SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 排序列 [ASC|DESC] LIMIT [偏移量,] 行数;执行顺序 WHERE → ORDER BY → LIMIT 先过滤数据再排序最后截取结果 典型场景 分页查询如每页 10 条获取前 N 名如销量最高的前 5 个商品 ii. 核心用法 (1) 获取前 N 条记录 -- 获取工资最高的前 3 名员工 SELECT name, salary FROM employees ORDER BY salary DESC LIMIT 3;(2) 分页查询 -- 每页 10 条查询第 3 页偏移量 (页码-1)*每页行数 SELECT * FROM products ORDER BY price ASC LIMIT 20, 10; -- 偏移量为 20 条取接下来的 10 条3. Update 操作更新数据 对查询到的结果进行列值更新 语法 UPDATE table_name SET column1 value1, column2 value2, ... WHERE ... ORDER BY ... LIMIT ...;实际场景 修改用户邮箱 UPDATE users SET email newqq.com WHERE id 1; -- 明确指定条件避免全表更新不指明条件导致全表更新是致命的 记录用户最后登录时间 UPDATE users SET last_login NOW() WHERE username ddsm;批量禁用长时间未登录用户 UPDATE users SET is_active 0 WHERE last_login 2020-01-01;4. Delete 操作删除数据 语法 DELETE FROM table_name WHERE ... ORDER BY ... LIMIT ...;实际场景用户注销账号 -- 物理删除谨慎操作 DELETE FROM users WHERE id 1;-- 实际项目中更推荐软删除,如果误删还可以找回数据 UPDATE users SET is_active 0 WHERE id 1;建议 生产环境优先使用软删除通过 is_active 或 deleted_at 标记。删除前检查关联数据如用户订单需级联处理这涉及到外键约束在以后的讲解中会逐渐详解。 注意 没有where子句的删除将删除整张表的数据但是表的结构不变此外auto_increment不会归0删除表内数据的另一种方法是 truncate tb_name特点是只能对整张表进行操作不能对部分数据操作。由于mysql不对数据操作因而比delete更快。truncate在删除的时候并不会经过真正的事务所以无法回滚。此外auto_increment会被重置。 三、总结 CreateINSERT 实现数据写入注意唯一性约束。RetrieveSELECT 灵活组合DISTINCT、 WHERE、ORDER BY、LIMIT 满足查询需求。UpdateUPDATE 配合精确条件避免误操作。Delete优先软删除物理删除需事务备份。 完 转载请注明出处
http://www.ho-use.cn/article/10812078.html

相关文章:

  • 阿里云网站空间网站开发广告语
  • 网站开发是什么部门电子图书网站建设
  • 免费的企业建站cms网站开发属于软件开发行业吗
  • 网站会员注册系统怎么做视频专业网站建设公司哪里好
  • 卖鞋推广引流方法惠州百度seo哪家好
  • 最大的网站模板网小程序嵌套wordpress
  • 广东网站建设服务python基础教程期末考试
  • 建设手机网站的方案wordpress更新文章
  • 马鞍山北京网站建设品牌形象策划
  • 网站开发前端指什么软件自媒体营销推广
  • 网站备案要花钱吗网络营销方式ppt
  • 网站建设策划书5000字工作室设计图
  • ps怎样做网站大图大连做网站优化
  • 网站首页图片素材长图怎么给自己的网站做排名
  • 不关闭网站 备案网站搭建 虚拟空间
  • 巩义网站建设案例珠海做网站找哪家好
  • 在线网站制作系统微信公众号做特效的网站
  • 广东省东莞市建设培训中心网站做网上推广
  • 网站建设江阴建网站做联盟
  • js 做网站电子商务网站建设与管理的总结
  • 郑州微信网站建设在线电影网站建设论文
  • 建立网站的教学书籍工业产品设计与创客实践项目
  • 网站开发准备建设银行管方网站
  • node 做的网站后端上海工程项目查询
  • 溧阳网站设计便宜建站
  • 四川监理协会建设网站搜索引擎优化主要包括
  • 黑龙江两学一做网站如何设计一个网页页面
  • 在线视频网站a一级爰a做免费wordpress 关闭插件更新
  • 揭阳手机网站建设龙华龙岗网站建设公司
  • 建工教育网校官方网站手机网站 优化