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

南山区住房和建设局网站官网上海 网站备案

南山区住房和建设局网站官网,上海 网站备案,最近一周中国新闻大事,百度如何免费推广绝大部分的业务逻辑,都需要和数据库进行交互,对数据库掌握是开发必不可少的基本功。这里对SQL语句进行一次概念回顾梳理。 入门级 1.增加 数据。字段对应,插入即可,基本现代的开发框架都有orm映射插入MYSQL数据表。对应tp框架里面…

绝大部分的业务逻辑,都需要和数据库进行交互,对数据库掌握是开发必不可少的基本功。这里对SQL语句进行一次概念回顾梳理。
入门级

1.增加 数据。字段对应,插入即可,基本现代的开发框架都有orm映射插入MYSQL数据表。对应tp框架里面的
db->insert方法
Db::table( ‘table_name’ ) -> insertAll( $data ); // 批量添加能大幅度提升导入效率,但是存在导入失败标记的问题。

//插入单条数据
INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3,...);
//插入多条数据INSERT INTO table_name (column1, column2, column3,...)VALUES(value1_1, value1_2, value1_3,...),(value2_1, value2_2, value2_3,...),(value3_1, value3_2, value3_3,...);

2.删除数据。如果是软删除,一般数据表额外新增一条is_del字段 是否被删除,而如果是日志类的,考虑到量非常大,基本都是实际删除。 如果是删除单条数据,直接 用id 等于即可,由于删除数据大部分都是日志类或者记录类场景,真正的用户/交易/订单数据很少使用删除逻辑。而当日志可能几百万条仔msyql里面,怕删除的时候,卡住系统,需要限定一次删除多少条日志,比如一次删除100W条日志(或者每天凌晨删除) 这个时候需要使用limit进行限定删除

DELETE FROM students WHERE age < 18 LIMIT 10;

3.修改数据 订单状态修改 之类的需要使用到。 需要注意的是,没有事物的时候,直接update是会互相串改修改结果的,典型的场景,三个用户连续点击网站,我们需要进行count,这个时候使用update直接会导致计数不准确。这个时候,如果需要一个比较准确的统计结果,需要使用insert插入,然后晚上的时候进行count。
第二个场景,就是有冲突的场景,比如用户的余额更新,用户点击了俩次,这个时候需要对余额进行更新俩次,但是因为是同时并发的,可能出现只扣款一次的情况。这个时候需要使用到CAS算法,比如一个学生购买了一瓶矿泉水点击了俩次,我们要扣除他的余额,这个时候,我们查询账户信息的时候,需要使用到id=2 + money=22 这种双重条件,消除并发同时读取到moeny =22 完成俩个订单,经过运算后更新20账户的余额场景。(这个通常意义也是乐观锁的概念)

 UPDATE students SET age = 22, name = '李四新'  WHERE id = 2; //简单的SQL语句修改
update students set money =20  where id=2 and money=22 ;//读取当前

4.查询数据,最常用也是最简单的:
SELECT * FROM students where class_id =1 ORDER BY name ASC LIMIT 10; // 读取某个班级的学生列表分页|
事物里面的相关查询: for update 有该条语句,执行事物的时候,会锁住,直到事物解锁
SELECT * FROM table_name WHERE condition FOR UPDATE;
//分组统计查询

 SELECT grade, class, COUNT(*)FROM studentsGROUP BY grade, class;

根据年级 班级统计学生的人数出来 开发里面统计基本都是用在系统后端的统计里面。
联表查询: join (join容易引起性能问题,所以需要特别注意优化)
join是分为left join inner join right join 一般我们用left join 居多,根据实际的查询

SELECT s.student_name, sc.score
FROM students s
INNER JOIN scores sc ON s.student_id = sc.student_id;

当俩张表的逻辑是关于某个字段的时候,需要使用到join。

MYSQL语句的进阶

基本复杂的部分都是查询部分,会引发很多概念。

1.数据库的慢查询检查
有的SQL语句由于涉及到的数据量比较大,在开始写的时候,只是为了尽快完成逻辑,没有考虑到相关性能问题。但是在执行的时候,非常缓慢,可能查询时间超过30秒,超过之后会被定义为慢查询。
EXPLAIN SELECT * FROM table1 WHERE column1 = 10;
通过 EXPLAIN 可以了解到以下重要内容:
select_type:查询的类型,如简单查询(SIMPLE)、连接查询(JOIN)等。
table:正在访问的表名。
type:连接类型,显示了如何查找表中的行,常见的有 ALL(全表扫描)、index(索引全扫描)、range(索引范围扫描)、
ref(非唯一索引匹配)、
eq_ref(唯一索引匹配)等。连接类型的效率从高到低通常为:system > const > eq_ref > ref > range > index > ALL 。possible_keys:可能用到的索引。
key:实际使用的索引。
key_len:索引字段的长度。
rows:预计扫描的行数。
Extra:一些额外的信息,如 Using filesort(表示需要额外的排序操作)、Using temporary(表示使用了临时表)等。

2.数据库的统计函数 having
HAVING 的作用类似于 WHERE 子句,但 WHERE 子句用于在分组之前筛选行,而 HAVING 子句用于在分组之后筛选分组:

SELECT product_id, SUM(sales_amount) as total_sales
FROM sales
GROUP BY product_id
HAVING SUM(sales_amount) > 1000;

例如统计销售金额大于1000的商品 当select里面有统计函数的时候,where是无效的,必须使用having,比如count(*)统计符合某个条件数量大于2也是如此。

3…msyql的常用函数整理 (简单编程里面最常用的函数)
COUNT(*):计算行数。 SUM(x):计算列的总和。 AVG(x):计算列的平均值。 MIN(x):返回列的最小值。 MAX(x)`:返回列的最大值

4.随机获取数据表里面的某个奖品信息返回出去 (随机读取数据表里面某一行的操作) 需要随机的时候,我们读取数据库。

SELECT id,prize
FROM prizes
ORDER BY RAND()
LIMIT 1;

文章转载自:

http://FxJg9RHD.xqnzn.cn
http://MPWyYzCv.xqnzn.cn
http://lc59Lxgd.xqnzn.cn
http://K4ryNMSP.xqnzn.cn
http://blWlxUMY.xqnzn.cn
http://EanbI30Z.xqnzn.cn
http://I4yUvbC0.xqnzn.cn
http://hvykpQXi.xqnzn.cn
http://a8Yd7fim.xqnzn.cn
http://yRP702F1.xqnzn.cn
http://lA2eWYAC.xqnzn.cn
http://BDTxJsOi.xqnzn.cn
http://BaOxocBa.xqnzn.cn
http://gXw5l8J3.xqnzn.cn
http://ju1HR6ji.xqnzn.cn
http://M4Lh7r1D.xqnzn.cn
http://GRF4VMtj.xqnzn.cn
http://b4nhHje1.xqnzn.cn
http://5gzre8UA.xqnzn.cn
http://by25ia1h.xqnzn.cn
http://fCw5YNsc.xqnzn.cn
http://NyeGWwSf.xqnzn.cn
http://7LOvXonO.xqnzn.cn
http://JRTgUiMt.xqnzn.cn
http://8AingSWj.xqnzn.cn
http://k2HqdICZ.xqnzn.cn
http://6j7DxEf1.xqnzn.cn
http://z6gaUxTz.xqnzn.cn
http://UU91ZXgf.xqnzn.cn
http://LoQbAfUI.xqnzn.cn
http://www.dtcms.com/wzjs/593937.html

相关文章:

  • 医疗门户网站模板《梦幻西游》官网
  • 新乡专业做网站多少钱seo公司赚钱吗
  • 手机开网店0元加盟店网站优化方法
  • 家庭网做网站广州市官网网站建设怎么样
  • app和网站的区别成功的企业网站案例
  • 做网站用什么系统电脑版商城网站建设
  • 企业建站哪个好什么网站可以自己做字
  • 广州红盾信息门户网站wordpress thinkphp
  • 中工信融做网站怎么样怎么自己制作网页新闻
  • mvc做的网站怎么制作网站网页
  • 免费推广网站入口202好的网站建设哪家好
  • 百度搜不到 但搜关键词有的网站微信小程序推广引流怎么做
  • 长沙企业网站建设报价企业网站建设预算
  • 沈阳网站外包公司wid2008vps创建网站
  • 类似淘宝网 的淘宝客网站模板做外单网站
  • 优秀学习网站公司主页填什么
  • 制作网站分析商业模式not found的网站
  • 西宁做网站哪家好文档里链接网站地址怎么做
  • wordpress保存图片不显示网站怎样做seo推广
  • 平板电脑 做网站开发忻州做网站
  • 如何建立自己网站教程网站设计制作好么
  • 易语言编程软件做网站软文广告图片
  • 怎样做天猫 淘宝网站导购怎么开通微信小程序卖东西
  • 1000元做网站php做网站难么
  • 苏州乡村旅游网站建设策划书企业网站建设ppt介绍
  • 西宁公司网站设计采用模版建网站的缺点
  • 免展网站后台注册seo查询seo
  • 网站不用备案营销型企业网站诊断
  • 电子商务网站建设理论依据做psd模板下载网站
  • 可信网站申请电商网站费用