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

郓城住房和城乡建设局网站目前做那个网站能致富

郓城住房和城乡建设局网站,目前做那个网站能致富,上海公共招聘网app下载,品牌网站设计网站一、初识MySql 数据库#xff1a;按照数据结构来组织、存储和管理数据的仓库#xff1b;是一个长期存储在计算机内的、有组织的、可共享 的、统一管理的大量数据的集合#xff1b; OLTP#xff1a;联机事务处理#xff0c;主要是对数据库的增删改查。 OLTP 主要用来记录…一、初识MySql 数据库按照数据结构来组织、存储和管理数据的仓库是一个长期存储在计算机内的、有组织的、可共享 的、统一管理的大量数据的集合 OLTP联机事务处理主要是对数据库的增删改查。 OLTP 主要用来记录某类业务事件的发生数据会以增删改的方式在数据库中进行数据的更新处理 操作要求实时性高、稳定性强、确保数据及时更新成功 OLAP联机分析处理主要是对数据库的查询。 当数据积累到一定的程度我们需要对过去发生的事情做一个总结分析时就需要把过去一段时间内产生的数据拿出来进行统计分析从中获取我们想要的信息。 二、SQL语句 定义结构化查询语言(Structured Query Language) 简称 SQL是一种特殊目的的编程语言是一种数据库查询和程序设计语言用于存取数据以及查询、更新和管理关系数据库系统。SQL 是关系数据库 系统的标准语言。 关系型数据库包括MySQL, SQL Server, Oracle, Sybase, postgreSQL 以及 MS Access等 SQL 命令包括DQL、DML、DDL、DCL以及TCL DQL数据查询语言只包含select 从一个或者多个表中检索特定的记录 DML数据操作语言包含 insert 插入记录 update 更新记录 delete 删除记录 DDL数据定义语言包含 create 创建一个新的表、表的视图、或者在数据库中的对象 alter 修改现有的数据库对象例如修改表的属性或者字段 drop 删除表、数据库对象或者视图 DCL数据控制语言包含 grant 授予用户权限 revoke 收回用户权限 TCL事务控制语言包含 commit 事务提交 rollback 事务回滚 三、数据库术语 数据库数据库是一些关联表的集合 数据表表是数据的矩阵 列一列包含相同类型的数据 行记录的是一组相关数据 主键主键是唯一的一个数据表只能包含一个主键 外键外键用来关联两个表来保证参照完整性MyISAM 存储引擎本身并不支持外键只起到注释作用而 innoDB 完整支持外键 复合键或称组合键将多个列作为一个索引键 索引用于快速访问数据表的数据索引是对表中的一列或者多列的值进行排序的一种结构 四、MySql的体系结构 其中包含连接池组件、管理服务和工具组件、SQL 接口组件、查询分析器组件、优化器组件、缓冲组件、插件式存储引擎、物理文件等。 MySql内部连接池管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求。需要注意的是它并未使用Reactor模型而是采用了IO多路复用的select 阻塞的IO。并且他的命令处理是多线程并发处理的 管理服务和工具组件系统管理和控制工具例如备份恢复、MySQL 复制、集群等 SQL 接口组件将 SQL 语句解析生成相应对象DMLDDL存储过程视图触发器等 查询分析器组件将 SQL 对象交由解析器验证和解析并生成语法树 优化器组件SQL 语句执行前使用查询优化器进行优化 缓冲组件当数据库进行读取页的操作的时候他会将磁盘中读取到的页存放到内存中这样当下次再读取相同的页首先会检查内存中有没有这个页如果没有再重新读取。但是由于并未提升很大的效率后面8.0版本已经删除。 五、数据库设计的三范式 为了建立冗余较小、结构合理的数据库设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库 必须满足一定的范式。因此三范式是为了减少空间占用。 范式一确保每列保持原子性数据库表中的所有字段都是不可分解的原子值 范式二满足范式一的基础上确保表中的每列都和主键完全依赖而不能只与主键的某一部分依赖组合索引 范式三满足范式二的基础上确保每列都和主键直接相关而不是间接相关减少数据冗余 但是对于特殊情况下没有必要做三范式可能会导致数据库业务涉及的表变多并且造成更多的联表查询将导致整个系统的性能降低因此基于性能考虑可能需要进行反范式设计 六、具体命令 1、五大约束 not null非空约束 auto_increment自增约束 unique唯一约束 primary主键约束非空且唯一 foreig外键约束 2、删除数据 dropDDL速度快删除整张表结构和表数据包括索引约束触发器等。但是删除后不能回滚会进行释放空间。 truncateDDL速度比较快会删除表数据其他字段会保留自增字段置为1但是也不能回滚会释放空间以页单位进行删除。 deleteDML速度慢删除部分字段或者全部字段其他保留他是一个条件删除可以进行回滚是标记删除实际并未删除可以进行逐行删除。 3、去重 我们可以根据具体的命令进行去重操作包括group by columnselect distinct column。 4、条件判断 首先条件判断有wheregroup by ... having ... join ... on ...。这三种都可以。 # 创建数据库 CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8; # 字符集设置为 utf8# 删除数据库 DROP DATABASE 数据库名;# 选择数据库 USE 数据库名;# 创建表 CREATE TABLE table_name (column_name column_type);CREATE TABLE IF NOT EXISTS 0voice_tbl (id INT UNSIGNED AUTO_INCREMENT COMMENT 编号,course VARCHAR(100) NOT NULL COMMENT 课程,teacher VARCHAR(40) NOT NULL COMMENT 讲师,price DECIMAL(8,2) NOT NULL COMMENT 价格,PRIMARY KEY ( id ), ## not null unique )ENGINEinnoDB DEFAULT CHARSETutf8 COMMENT 课程表;# 删除表 DROP TABLE table_name; # 把数据和表都删除# 清空数据列 TRUNCATE TABLE table_name; -- 截断表 以页为单位至少有两行数据有自增索引的话从初始值开始累加 DELETE TABLE table_name; -- 逐行删除有自增索引的话从之前值继续累加# 增 INSERT INTO table_name(field1, field2, ..., fieldn) VALUES (value1,value2, ..., valuen); INSERT INTO 0voice_tbl (course, teacher, price) VALUES (C/CLinux服务器开发/高级架构师, Mark, 7580.0);# 删 DELETE FROM table_name [WHERE Clause]; DELETE FROM 0voice_tbl WHERE id 3;# 改 UPDATE table_name SET field1new_value1, field2new_value2 [, fieldnnew_valuen] UPDATE 0voice_tbl SET teacher Mark WHERE id 2; -- 累加 UPDATE 0Voice_tbl set age age 1 WHERE id 2;# 查 SELECT field1, field2,...fieldN FROM table_name [WHERE Clause]七、高级查询 1、分组聚合 sum计算某列的总和 avg计算某列的平均值 max计算某列的最大值 min计算某列的最小值 count计算某列的行数 -- 分组加group_concat SELECT gender, group_concat(age) as ages FROM student GROUP BY gender; -- 可以把查询出来的结果根据某个条件来分组显示 SELECT gender FROM student GROUP BY gender; -- 分组加聚合 SELECT gender, count(*) as num FROM student GROUP BY gender; -- 分组加条件 SELECT gender, count(*) as num FROM student GROUP BY gender HAVING num 6;2、联表查询 INNER JOIN只取两张表有对应关系的记录。 SELECTcid FROMcourse INNER JOIN teacher ON course.teacher_id teacher.tid;LEFT JOIN在内连接的基础上保留左表没有对应关系的记录。 SELECTcourse.cid FROMcourse LEFT JOIN teacher ON course.teacher_id teacher.tid; REIGHT JOIN SELECTcourse.cid FROMcourse RIGHT JOIN teacher ON course.teacher_id teacher.tid; 3、子查询 IN 关键字运算符可以检测结果集中是否存在某个特定的值如果检测成功就执行外部的查询。 EXISTS 关键字内层查询语句不返回查询的记录。而是返回一个真假值。如果内层查询语句查询 到满足条件的记录就返回一个真值 true 否则将返回一个假值 false 。当返回的值 为 true 时外层查询语句将进行查询当返回的为 false 时外层查询语句不进行查询或者查 询不出任何记录。 ALL 关键字表示满足所有条件。使用 ALL 关键字时只有满足内层查询语句返回的所有结果才 可以执行外层查询语句。 ANY 关键字允许创建一个表达式对子查询的返回值列表进行比较只要满足内层子查询中 的任意一个比较条件就返回一个结果作为外层查询条件。 在 FROM 子句中使用子查询子查询出现在 from 子句中这种情况下将子查询当做一个临时表 使用。 select * from student where class_id in (select cid from course where teacher_id 2); select * from student where exists(select cid from course where cid 5); SELECTstudent_id,sname FROM(SELECT * FROM score WHERE course_id 1 OR course_id 2) AS A LEFT JOIN student ON A.student_id student.sid; 八、视图和触发器 1、视图 定义视图 view 是一种虚拟存在的表是一个逻辑表本身并不包含数据。其内容由查询定义。 基表用来创建视图的表叫做基表 通过视图可以展现基表的部分数据视图数据来自定义视图的查询中使用的表使用视图动态生成 简单使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件对用户来说已经是过滤好的复合条件的结果集。 安全使用视图的用户只能访问他们被允许查询的结果集对表的权限管理并不能限制到某个行某个列但是通过视图就可以简单的实现。 数据独立一旦视图的结构确定了可以屏蔽表结构变化对用户的影响源表增加列对视图没有影响源表修改列名则可以通过修改视图来解决不会造成对访问者的影响。 CREATE VIEW view_test1 AS SELECT A.student_id FROM(SELECTstudent_id,num FROMscoreWHEREcourse_id 1) AS A LEFT JOIN (SELECTstudent_id,numFROMscoreWHEREcourse_id 2) AS B ON A.student_id B.student_id WHEREA.num IF (isnull(B.num), 0, B.num);作用可复用减少重复语句书写类似程序中函数的作用 重构利器 假如因为某种需求需要将 user 拆成表 usera 和表 userb如果应用程序使用 sql 语句 select * from user 那就会提示该表不存在若此时创建视图 create view user as select a.name,a.age,b.sex from usera as a, userb as b where a.nameb.name; 则只需要更改数据库结构而不需要更改应用程序 逻辑更清晰屏蔽查询细节关注数据返回 权限控制某些表对用户屏蔽但是可以给该用户通过视图来对该表操作  2、触发器 定义触发器trigger是 MySQL 提供给程序员和数据分析员来保证数据完整性的一种方法它是与表事件相关的特殊的存储过程它的执行不是由程序调用也不是手工启动而是由事件来触发比 如当对一个表进行 DML 操作 insert delete update 时就会激活它执行。 监视对象 table 监视事件 insert 、 update 、 delete 触发时间 before after 触发事件 insert 、 update 、 delete CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW[trigger_order] trigger_body -- 此处写执行语句 -- mysql c/c function udf 动态库 -- trigger_body: 可以一个语句也可以是多个语句多个语句写在 BEGIN ... END 间 -- trigger_time: { BEFORE | AFTER } -- trigger_event: { INSERT | UPDATE | DELETE } -- trigger_order: { FOLLOWS | PRECEDES } other_trigger_name NEW和OLD在 INSERT 型触发器中 NEW 用来表示将要 BEFORE 或已经 AFTER 插入的新数据 在 DELETE 型触发器中 OLD 用来表示将要或已经被删除的原数据在 UPDATE 型触发器中 OLD 用来表示将要或已经被修改的原数据 NEW 用来表示将要或已经修 改为的新数据 NEW.columnName columnName为相应数据表某一列名 OLD.columnName columnName为相应数据表某一列名 感谢大家的收看0voice · GitHub
http://www.hkea.cn/news/14290110/

相关文章:

  • 慈溪网站建设慈溪素材下载平台网站源码
  • 西安做一个企业网站要多少钱一元云购 网站开发
  • 网站建设加推广windows优化大师值得买吗
  • 大气物流网站源码西安seo外包工作室
  • 专业移动微网站建设免费行情软件app网站mnw下载
  • 营销型网站建设公司哪家建设营怎么设置网站名称
  • h5网站系统帝国cms网站
  • 韩国做美食网站笔记本做网站
  • 网络公司网站建设报价网络推广引流是做什么的
  • 做网站网关备案2345网址导航怎么下载
  • 网站建设课程简介图片南充市房地产网官方网站
  • 网站建设 落地页网站没有被收录
  • 余姚网站推广公司大型门户网站建设大概多少钱
  • 网站建设文案策划做网站 橙色怎么搭配
  • 中国最大网站建设商购买天猫店铺网站
  • 2022新闻热点10条北京seo顾问服务公司
  • 网站建设团队哪个最好商城微网站建设方案
  • 网站运营做产品需要哪些知识王也天 葛优
  • 关于网站设计的会议外贸公司招聘条件
  • 网站制作公司前景中国互联网大厂排名
  • 免费永久网站空间书店网站模板下载
  • .net网站开发实训报告电子商务工资多少钱一个月
  • 自己建立网站教程建筑工程网络进度计划备注填写范例
  • 做卖挖掘机的网站子主题wordpress
  • 网站建设中是因为没有ftp上传吗电子商务网站建设多少钱
  • 江苏盐城网站建设住建局查询房产信息
  • 做职业测评的网站注册安全工程师条件
  • 建站宝盒合作wordpress怎么看免费主题
  • 网站建设需要几十万wordpress_广告主题
  • 老版建设银行网站网站建设公司swot分析