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

网站登录不上去怎么回事用lls建设一个网站

网站登录不上去怎么回事,用lls建设一个网站,点击未来网站建设,做dj网站用什么建站系统比较好目录 1、概念 1.1、概述 1.2、常见的MySQL高阶语句的概念#xff1a; 1.3、 SQL高阶语句的作用 2、常用查询 2.1、按关键字排序 2.1.1、概述和作用 2.1.2、 #xff08;1#xff09;语法 2.1.3、模板表#xff1a;ky30 ​编辑2.1.4、分数按降序排列 2.1.5、ORDER…目录 1、概念 1.1、概述 1.2、常见的MySQL高阶语句的概念 1.3、 SQL高阶语句的作用 2、常用查询 2.1、按关键字排序 2.1.1、概述和作用 2.1.2、 1语法 2.1.3、模板表ky30 ​编辑2.1.4、分数按降序排列 2.1.5、ORDER BY 语句 ​编辑2.1.6、查询学生信息先按兴趣id降序排列相同分数的id按升序排列 2.1.7、 区间判断及查询不重复记录 2.1.7.1、AND/OR ——且/或 2.1.7.2、嵌套/多条件 2.1.7.3、distinct 查询不重复记录 语法: 2.2、对结果进行分组 2.1、语法 2.2、结合where语句筛选分数大于等于80的分组计算学生个数 2.3、结合order by把计算出的学生个数按升序排列 3、限制结果条目limit 3.1、语法 3.2、查询所有信息显示前4行记录 3.3、从第4行开始往后显示3行内容 3.4、 结合order by语句按id的大小升序排列显示前三行 3.5、基础select 小的升阶 怎么输出最后三行 4、设置别名alias ——》as 4.1、语法 4.2、列别名设置示例 4.3、 表的长度较长设置别名 4.4、查询info表的字段数量以number显示 4.5、 适用场景 4.6、创建表的连接 4.7、as 的作用 4.8、 克隆、复制表结构 5、通配符 5.1、查询名字是c开头的记录 5.2、 查询名字里是l和i中间有两个字符的记录 5.3、 查询名字中间有l的记录 ​编辑 5.4、查询l后面3个字符的名字记录 6、子查询 6.1、概述 6.2、主语句与子语句 6.3、不同表/多表示例 6.4、in与not in 6.5 子查询与insert 6.6、UPDATE 语句 6.7、DELETE 也适用于子查询 6.8、EXISTS 7、MySQL视图 7.1、作用范围 7.2、功能 7.3、区别 7.4、联系 7.5、实例 7.5.1、创建ky30的视图 7.5.2、 查看视图 ​编辑7.5.3、查看视图与源表结构 7.5.4、修改原表数值 7.5.5、 视图与源的结构 7.6、多表创建视图 1、概念 1.1、概述 在MySQL中高阶语句是指一些复杂、高级的查询语句或操作用于满足更特定和复杂的数据需求。这些高阶语句通常涉及更多的SQL功能和技巧以扩展MySQL的功能和性能。 在MySQL中它们扩展了基本的SELECT、INSERT、UPDATE和DELETE等常见操作提供了更强大和灵活的数据库查询、处理和管理能力 1.2、常见的MySQL高阶语句的概念 1. 子查询Subqueries子查询是嵌套在其他查询中的查询语句。它可以在主查询中使用子查询的结果来动态生成查询条件实现更复杂的数据检索和筛选。 2. 联合查询Joins通过连接多个相关联的表从中检索相关的数据。MySQL支持多种连接类型如INNER JOIN、LEFT JOIN、RIGHT JOIN等以满足不同的数据关联需求。 3. 窗口函数Window Functions窗口函数是一种在查询结果集上执行聚合、排序和排名等操作的高级函数。它可以在查询结果中定义窗口并对窗口内的数据进行计算和处理。 4. 分组集GROUPING SETS分组集允许在单个查询中指定多个分组依据以得到不同维度的聚合结果。它可以简化复杂的GROUP BY操作提供更灵活的聚合查询能力。 5. WITH语句Common Table ExpressionsWITH语句允许创建临时命名的查询块类似于子查询但可重复使用。它可以提高查询的可读性和可维护性尤其在复杂查询中。 6. UNION操作符UNION操作符用于合并多个SELECT语句的结果集并消除重复行。UNION ALL则包含所有的查询结果不进行去重。 7. 正则表达式Regular ExpressionsMySQL支持使用正则表达式进行模式匹配和搜索。REGEXP和RLIKE是两个常用的正则表达式操作符用于在字符串字段中进行高级模式匹配。 8. 分页查询Pagination分页查询用于限制查询结果的数量实现分页展示。使用LIMIT和OFFSET子句可以指定返回的行数和起始位置实现分页功能。 9. 自定义函数User-defined FunctionsMySQL允许开发者创建自定义函数扩展SQL的功能。自定义函数可以根据业务需求编写提供更灵活和个性化的数据处理能力。 这些高阶语句为MySQL查询和操作提供了更丰富、灵活的功能和技巧。通过运用这些高级语句可以满足复杂业务需求提高查询性能实现更精确和高效的数据操作和分析。 1.3、 SQL高阶语句的作用 MySQL的高阶语句提供了更强大和灵活的功能 1. 复杂查询高阶语句使得进行复杂的数据查询变得更加容易。例如使用子查询可以在查询结果的基础上动态生成查询条件实现更精确和特定的数据检索。 2. 关联查询通过联合查询可以连接多个相关联的表从中检索出满足特定条件的相关数据。这对于处理多个表之间的关系非常有用如查询订单与顾客的关联信息。 3. 聚合操作通过高级聚合函数和分组集可以对查询结果进行更复杂的聚合操作。例如在分组查询中可以计算每个组的总数、平均值等统计信息并得到相应的汇总结果。 4. 分页查询高阶语句中的LIMIT和OFFSET子句可用于实现分页查询。这对于在Web应用程序中展示大量数据时非常有用可以根据需要返回指定数量的结果。 5. 数据分析窗口函数提供了在查询结果上进行排序、排名和分析的能力。通过窗口函数可以计算累积和、移动平均值等复杂的数据分析指标。 6. 动态SQL动态SQL允许根据不同的运行时条件和变量构建和修改SQL语句。这在需要根据用户输入或其他动态情况来生成不同查询的场景下非常有用。 7. 存储过程和触发器存储过程和触发器是一些预定义的SQL代码块可以实现复杂的业务逻辑和数据处理操作。它们提供了更高级的数据库控制和自动化能力。 通过使用MySQL的高阶语句可以更灵活地处理和管理数据满足复杂的查询需求并进行更高级和精细化的数据操作和分析。这些功能对于开发复杂应用、进行数据挖掘和业务分析等领域非常有帮助。 2、常用查询 增、删、改、查 对 MySQL 数据库的查询除了基本的查询外有时候需要对查询的结果集进行处理。 例如只取 10 条数据、对查询结果进行排序或分组等等 2.1、按关键字排序 2.1.1、概述和作用 使用 SELECT 语句可以将需要的数据从 MySQL 数据库中查询出来如果对查询的结果进行排序可以使用 ORDER BY 语句来对语句实现排序并最终将排序后的结果返回给用户。这个语句的排序不光可以针对某一个字段也可以针对多个字段 先创建好数据 2.1.2、 1语法 SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC与DESC区别 ASC 是按照升序进行排序的是默认的排序方式即 ASC 可以省略。SELECT 语句中如果没有指定具体的排序方式则默认按 ASC方式进行排序。 DESC 是按降序方式进 行排列。当然 ORDER BY 前面也可以使用 WHERE 子句对查询结果进一步过滤。 2.1.3、模板表ky30 数据库有一张ky30表记录了学生的id姓名分数地址和爱好 Databascreate table ky30(id int(5) not null,name varchar(20) primary key not null,score decimal(5,2),address varchar(20),hobbid int(5)); mysql insert into ky30 values(1,liuyi,80,beijing,2); mysql insert into ky30 values(2,wangwu,90,shenzhen,2); mysql insert into ky30 values(3,lisi,60,shanghai,4); mysql insert into ky30 values(4,tianqi,99,hangzhou,5); Query OK, 1 row affected (0.00 sec) mysql insert into ky29 values(5,jiaoshou,98,laowo,3);mysql insert into ky30 values(5,jiaoshou,98,laowo,3); Query OK, 1 row affected (0.01 sec)mysql insert into ky30 values(6,hanmeimei,10,nanjing,3); Query OK, 1 row affected (0.01 sec)mysql insert into ky30 values(7,lilei,11,nanjing,5); Query OK, 1 row affected (0.01 sec)按分数排序默认不指定是升序排列 mysql select id,name,score from ky30 order by score; 2.1.4、分数按降序排列 mysql select id,name,score from ky30 order by score desc; order by还可以结合where进行条件过滤筛选地址是杭州的学生按分数降序排列 mysql select name,score from ky30 where addresshangzhouorder by score desc;2.1.5、ORDER BY 语句 可以使用多个字段来进行排序当排序的第一个字段相同的记录有多条的情况下这些多条的记录再按照第二个字段进行排序ORDER BY 后面跟多个字段时字段之间使用英文逗号隔开优先级是按先后顺序而定 但order by 之后的第一个参数只有在出现相同值时第二个字段才有意义 mysql select id,name,hobbid from ky30 order by hobbid desc,id desc; 2.1.6、查询学生信息先按兴趣id降序排列相同分数的id按升序排列 mysql select id,name,hobbid from ky30 order by hobbid desc,id;2.1.7、 区间判断及查询不重复记录 2.1.7.1、AND/OR ——且/或 mysql select * from ky30 where score 70 and score 90; mysql select * from ky30 where score 70 or score 90; 2.1.7.2、嵌套/多条件 mysql select * from ky30 where score 70 or (score 75 and score 90);2.1.7.3、distinct 查询不重复记录 语法: mysql select distinct hobbid from ky30; 2.2、对结果进行分组 通过 SQL 查询出来的结果还可以对其进行分组使用 GROUP BY 语句来实现 GROUP BY 通常都是结合聚合函数一起使用的常用的聚合函数包括计数COUNT、 求和SUM、求平均数AVG、最大值MAX、最小值MINGROUP BY 分组的时候可以按一个或多个字段对结果进行分组处理。 2.1、语法 SELECT column_name, aggregate_function(column_name)FROM table_name WHERE column_name operator value GROUP BY column_name; 按hobbid相同的分组计算相同分数的学生个数基于name个数进行计数 mysql select count(name),hobbid from ky30 group by hobbid;2.2、结合where语句筛选分数大于等于80的分组计算学生个数 mysql select count(name),hobbid from ky30 where score80 group by hobbid;全班同学成绩表 count(name)计数 score 分数 score80 优秀 score 60 and score 80 :优- 2.3、结合order by把计算出的学生个数按升序排列 mysql select count(name),score,hobbid from ky30 where score80 group by hobbid order by count(name) asc;3、限制结果条目limit limit 限制输出的结果记录 在使用 MySQL SELECT 语句进行查询时结果集返回的是所有匹配的记录行。有时候仅 需要返回第一行或者前几行这时候就需要用到 LIMIT 子句 3.1、语法 SELECT column1, column2, ... FROM table_name LIMIT [offset,] number LIMIT 的第一个参数是位置偏移量可选参数是设置 MySQL 从哪一行开始显示。 如果不设定第一个参数将会从表中的第一条记录开始显示。需要注意的是第一条记录的 位置偏移量是 0第二条是 1以此类推。第二个参数是设置返回记录行的最大数目。 3.2、查询所有信息显示前4行记录 mysql select * from ky30 limit 3; 我的虚拟机通过这个命令查询的顺序就是乱的所以有所不同每个人情况不同 3.3、从第4行开始往后显示3行内容 mysql select * from ky30 limit 3,3;3.4、 结合order by语句按id的大小升序排列显示前三行 mysql select id,name from ky30 order by id limit 3; 3.5、基础select 小的升阶 怎么输出最后三行 mysql select id,name from ky30 order by id desc limit 3;输出前三行怎么输出 limit 3 limit 2 您说的是前三行limit 是做为位置偏移量的定义他的起始是从0开始,而0表示的是字段 4、设置别名alias ——》as 在 MySQL 查询时当表的名字比较长或者表内某些字段比较长时为了方便书写或者 多次使用相同的表可以给字段列或表设置别名。使用的时候直接使用别名简洁明了增强可读性 4.1、语法 对于列的别名SELECT column_name AS alias_name FROM table_name; 对于表的别名SELECT column_name(s) FROM table_name AS alias_name; 在使用 AS 后可以用 alias_name 代替 table_name其中 AS 语句是可选的。AS 之后的别名主要是为表内的列或者表提供临时的名称在查询过程中使用库内实际的表名 或字段名是不会被改变的 4.2、列别名设置示例 mysql select id as 排序,name as 姓名,score as 成绩,address as 地址 from ky30;4.3、 表的长度较长设置别名 如果表的长度比较长可以使用 AS 给表设置别名在查询的过程中直接使用别名 临时设置info的别名为i select i.name as 姓名,i.score as 成绩 from info as i; 4.4、查询info表的字段数量以number显示 mysql select count(*) as number from ky30; 不用as也可以显示 4.5、 适用场景 对复杂的表进行查询的时候别名可以缩短查询语句的长度多表相连查询的时候通俗易懂、减短sql语句 4.6、创建表的连接 此外AS 还可以作为连接语句的操作符。 创建da表将ky30表的查询记录全部插入da表 mysql create table da as select * from ky30; Query OK, 7 rows affected (0.02 sec) Records: 7 Duplicates: 0 Warnings: 0mysql select * from ky30;需要注意的是连接不会复制原表的主键 4.7、as 的作用 创建了一个新表t1 并定义表结构插入表数据与info表相同但是”约束“没有被完全”复制“过来 #但是如果原表设置了主键那么附表的default字段会默认设置一个0 4.8、 克隆、复制表结构 create table t1 (select * from info);可以加入where 语句判断 mysql create table tda1 as mysql * from ky30 where score 60;在为表设置别名时要保证别名不能与数据库中的其他表的名称冲突。 列的别名是在结果中有显示的而表的别名在结果中没有显示只在执行查询时使用。 5、通配符 通配符主要用于替换字符串中的部分字符通过部分字符的匹配将相关结果查询出来。 通常通配符都是跟 LIKE 一起使用的并协同 WHERE 子句共同来完成查询任务。常用的通配符有两个分别是 %百分号表示零个、一个或多个字符 _下划线表示单个字符 5.1、查询名字是c开头的记录 mysql select id,name from ky30 where name like l%;5.2、 查询名字里是l和i中间有两个字符的记录 mysql select id,name from ky30 where name like l__i;5.3、 查询名字中间有l的记录 mysql select id,name from ky30 where name like %l%; 5.4、查询l后面3个字符的名字记录 mysql select id,name from ky30 where name like l___;通配符“%”和“_”不仅可以单独使用也可以组合使用 查询名字以w开头的记录 mysql select id,name from ky30 where name like w%__; 6、子查询 6.1、概述 子查询也被称作内查询或者嵌套查询是指在一个查询语句里面还嵌套着另一个查询语 句。子查询语句是先于主查询语句被执行的其结果作为外层的条件返回给主查询进行下一 步的查询过滤。 6.2、主语句与子语句 子语句可以与主语句所查询的表相同也可以是不同表 mysql select name,score from ky30 where id in (select id from ky30 where score60); 主语句  select name,score from ky30 where id in 子语句(集合) (select id from ky30 where score60); 子语句中的sql语句是为了最后过滤出一个结果集用于主语句的判断条件 将主表和子表关联/连接的语法 6.3、不同表/多表示例 mysql create table ky30_da(id int); Query OK, 0 rows affected (0.01 sec)mysql insert into ky30_da values(1),(2),(3); Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0mysql select id,name,score from ky30 where id in (select id from ky30_da); 子查询不仅可以在 SELECT 语句中使用在 INERT、UPDATE、DELETE 中也同样适用。在嵌套的时候子查询内部还可以再次嵌套新的子查询也就是说可以多层嵌套。 6.4、in与not in 语法 IN 用来判断某个值是否在给定的结果集中通常结合子查询来使用 语法 .表达式 [NOT] IN 子查询 当表达式与子查询返回的结果集中的某个值相等时返回 TRUE否则返回 FALSE。 若启用了 NOT 关键字则返回值相反。需要注意的是子查询只能返回一列数据如果需 求比较复杂一列解决不了问题可以使用多层嵌套的方式来应对。 多数情况下子查询都是与 SELECT 语句一起使用的 查询分数大于80的记录 mysql select name,score from ky30 where id in (select id from ky30 where score80);6.5 子查询与insert 子查询还可以用在 INSERT 语句中。子查询的结果集可以通过 INSERT 语句插入到其 他的表中 将t1里的记录全部删除重新插入info表的记录 mysql insert into tda1 select * from ky30 where id in (select id from ky30); mysql select * from tda1;6.6、UPDATE 语句 可以使用子查询。UPDATE 内的子查询在 set 更新内容时可以是单独的一列也可以是多列。 mysql update da set score80 where id in (select id from ky30 where id2);mysql update da set score100 where id not in (select id from ky30 where id 3);6.7、DELETE 也适用于子查询 删除分数大于80的记录 mysql delete from da where id in (select id where score80); Query OK, 5 rows affected (0.00 sec)在 IN 前面还可以添加 NOT其作用与IN相反表示否定即不在子查询的结果集里面 删除分数不是大于等于80的记录 删除小于80的 mysql delete from tda1 where id not in (select id where score80);6.8、EXISTS 这个关键字在子查询时主要用于判断子查询的结果集是否为空。如果不为空 则返回 TRUE反之则返回 FALSE mysql select count(*) from tda1 where exists(select id from tda1 where score80); mysql select count(*) from tda1 where exists(select id from tda1 where score60) 查询如果存在分数等于80的记录则计算tda1的字段数 查询如果存在分数没有等于60的不记录则计算tda1的字段数 子查询别名as 将结果集做为一张表进行查询的时候我们也需要用到别名 mysql select a.id from (select id,name from tda1) a 7、MySQL视图 视图优化操作安全方案 数据库中的虚拟表这张虚拟表中不包含真实数据只是做了真实数据的映射 视图可以理解为镜花水月/倒影动态保存结果集数据 基础表info 7行记录 ——》映射投影--视图 作用场景 针对不同的人权限身份提供不同结果集的“表”以表格的形式展示 7.1、作用范围 select * from info; #展示的部分是info表 select * from view_name; #展示的一张或多张表 7.2、功能 简化查询结果集、灵活查询、可以针对不同用户呈现不同结果集、相对有更高的安全性 本质而言视图是一种select(结果集的呈现) 视图适合于多表连接浏览时使用!不适合增、删、改 而存储过程适合于使用较频繁的SQL语句这样可以提高执行效率! 视图和表的区别和联系 7.3、区别 ①、视图是已经编译好的sql语句。而表不是 ②、视图没有实际的物理记录。而表有。 show table status\G ③、表只用物理空间而视图不占用物理空间视图只是逻辑概念的存在表可以及时对它进行修改但视图只能有创建的语句来修改 ④、视图是查看数据表的一种方法可以查询数据表中某些字段构成的数据只是一些SQL语句的集合。从安全的角度说视图可以不给用户接触数据表从而不知道表结构。 ⑤、表属于全局模式中的表是实表视图属于局部模式的表是虚表。 ⑥、视图的建立和删除只影响视图本身不影响对应的基本表。但是更新视图数据是会影响到基本表的 7.4、联系 视图(view)是在基本表之上建立的表它的结构(即所定义的列)和内容(即所有数据行)都来自基本表它依据基本表存在而存在。一个视图可以对应一个基本表也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。 7.5、实例 满足80分的学生展示在视图中 这个结果会动态变化同时可以给不同的人群例如权限范围展示不同的视图 7.5.1、创建ky30的视图 mysql create view ta as select * from ky30 where score80; 7.5.2、 查看视图 7.5.3、查看视图与源表结构 7.5.4、修改原表数值 当达到视图表要求的范围则视图表也随之改变 mysql update ky30 set score88 where id3; 视图的数据 7.5.5、 视图与源的结构 视图结构 源的结构 7.6、多表创建视图 mysql create table ky10 (id int,name varchar(10),age char(10)); mysql insert into ky10 values(1,zhangsan,20); mysql insert into ky10 values(2,lisi,30); mysql insert into ky10 values(3,wangwu,29); null值 概述 在 SOL 语句使用过程中经常会碰到 NULL 这几个字符。通常使用 NULL 来表示缺失的值也就是在表中该字段是没有值的。如果在创建表时限制某些字段不为空则可以使用 NOT NULI关键字不使用则默认可以为空。在向表内插入记录或者更新记录时如果该字段没有 NOT NULL并且没有值这时候新记录的该字段将被保存为 NULL。需要注意 的是NULL 值与数字 0或者空白 (spaces)的字段是不同的值为 NULI 的字段是没有 值的。在 SOL 语句中使用 IS NULL可以判断表内的某个字段是不是 NULL 值相反的用 IS NOT NULL 可以判断不是 NULL 值。 查询info表结构name字段是不允许空值的 nu11值与空值的区别(空气与真空) 空值长度为0不占空间NULL值的长度为nul1占用空间is null无法判断空值空值使用或者来处理 (!) count () 计算时NULL会忽略空值会加入计算 在计算机编程中null值和空值Empty value是两个不同的概念。 1. null值它表示一个变量或表达式没有有效的值或未被赋值。通常用于指示缺少数据、未知或无效的情况。在许多编程语言中null是一个特殊的关键字或保留字用于表示空引用或空对象。 2. 空值它表示一个变量或数据结构中没有任何数据或内容。与null不同空值仍然被认为是一个有效的值只是它表示没有具体的数据内容。 简而言之null值表示缺少或无效的数据而空值表示存在但没有具体内容。在某些编程语言中null可以作为特殊的值进行处理而空值则是一种数据状态或占位符。需要根据所使用的编程语言和上下文来理解和使用这两个概念。 常见的应用场景 变量初始化在声明变量时可以将其初始值设置为null表示该变量暂时没有有效的值。解除引用将一个对象或变量的引用置为null可以释放对该对象的引用从而帮助垃圾回收器回收内存。条件检查可以使用null值来检查变量是否存在有效的值避免出现空指针异常等错误。 需要注意的是每种编程语言对于null值的处理方式可能不同。某些语言可能会提供更丰富的空值处理机制如Optional类型或Maybe类型以更好地处理空值的情况。因此在具体的编程环境中建议查阅相关文档或参考相应的语言规范以了解准确的行为。 8、内连接  左连接  右链接 左连接:将两张表的内容及逆行匹配按照SQL查询的顺序左——右输出坐标的全部内容和右表共同的数据内容 内连接 输出匹配共同数据/字段的数据内容 8.1、区别 左连接Left Join 左连接是关系型数据库中的一种连接操作它将两个表按照指定的条件通常是两表之间的某个字段的值相等进行连接并返回左表中所有的记录以及与右表匹配的记录。如果右表中没有匹配的记录则返回NULL值。 右连接Right Join 右连接也是关系型数据库中的一种连接操作它与左连接的原理类似只是返回的结果集包括右表中所有的记录以及与左表匹配的记录。如果左表中没有匹配的记录则返回NULL值。 右连接和左连接相反 内连接Inner Join 内连接是关系型数据库中最常用的连接操作之一。它仅返回两个表中满足连接条件的记录。也就是说只有在左表和右表之间存在匹配的记录时才会将这些记录返回。 三者之间的区别在于返回结果的不同 - 左连接返回左表的全部记录以及与右表匹配的记录。 - 右连接返回右表的全部记录以及与左表匹配的记录。 - 内连接只返回符合连接条件的记录。 需要注意的是连接操作需要指定连接条件即表之间关联的字段。根据实际需求选择正确的连接类型可以帮助我们获取所需的数据结果。 8.2、内连接 8.2.1、概述 MySQL 中的内连接就是两张或多张表中同时符合某种条件的数据记录的组合。通常在 FROM 子句中使用关键字 INNER JOIN 来连接多张表并使用 ON 子句设置连接条件内连接是系统默认的表连接所以在 FROM 子句后可以省略 INNER 关键字只使用 关键字 JOIN。同时有多个表时也可以连续使用 INNER JOIN 来实现多表的内连接不过为了更好的性能建议最好不要超过三个表 8.2.2、语法 SELECT column_name(s)FROM table1 INNER JOIN table2 ON table1.column_name table2.column_name; 8.2.3、实例 创建表 mysql create table ky10(name varchar(40),score decimal((4,2),address varchar(40));添加数据 insert into ky10 values(wangwu,80,beijing),(zhangsan,99,shanghai),(lisi,99.99,nanjing);mysql select * from ky10; 创建第二张表 mysql create table ky20(name varchar(40),score decimal((4,2),address varchar(40)); Query OK, 0 rows affected (0.01 sec)mysql insert into ky10 values(wangwu,80,beijing),(zs,99,shanghai),(lisi,99.99,nanjing); Query OK, 3 rows affected (0.00 sec)mysql select ky20.name from ky20 inner join ky10 on ky20.nameky10.name;内连查询通过inner join 的方式将两张表指定的相同字段的记录行输出出来 内连查询面试直接了当的说 用inner join 就可以 8.3、左连接 8.3.1、概述 .左连接也可以被称为左外连接在 FROM 子句中使用 LEFT JOIN 或者 LEFT OUTER JOIN 关键字来表示。左连接以左侧表为基础表接收左表的所有行并用这些行与右侧参 考表中的记录进行匹配也就是说匹配左表中的所有行以及右表中符合条件的行。 mysql select * from info left join infos on info.nameinfos.name; 左连接中左表的记录将会全部表示出来而右表只会显示符合搜索条件的记录右表记录不足的地方均为 NULL。 8.4、右连接 右连接也被称为右外连接在 FROM 子句中使用 RIGHT JOIN 或者 RIGHT OUTER JOIN 关键字来表示。右连接跟左连接正好相反它是以右表为基础表用于接收右表中的所有行并用这些记录与左表中的行进行匹配 mysql select * from ky20 right join ky10 on ky20.nameky10.name;在右连接的查询结果集中除了符合匹配规则的行外还包括右表中有但是左表中不匹 配的行这些记录在左表中以 NULL 补足 9、存储过程 9.1、概述 前面学习的 MySQL 相关知识都是针对一个表或几个表的单条 SQL 语句使用这样的SQL 语句虽然可以完成用户的需求但在实际的数据库应用中有些数据库操作可能会非常复杂可能会需要多条 SQL 语句一起去处理才能够完成这时候就可以使用存储过程 轻松而高效的去完成这个需求有点类似shell脚本里的函数 9.2、、简介- 存储过程是一组为了完成特定功能的SQL语句集合。 两个点 第一 触发器定时任务 第二个判断存储过程这个功能是从5.0版本才开始支持的它可以加快数据库的处理速度增强数据库在实际应用中的灵活性。存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时只需要调用它即可。操作数据库的传统 SQL 语句在执行时需要先编译然后再去执行跟存储过程一对比明显存储过程在执行上速度更快效率更高 存储过程在数据库中L 创建并保存它不仅仅是 SQ语句的集合还可以加入一些特殊的控制结构也可以控制数据的访问方式。存储过程的应用范围很广例如封装特定的功能、 在不同的应用程序或平台上执行相同的函数等等。 9.3、存储过程的优点 执行一次后会将生成的二进制代码驻留缓冲区提高执行效率SQL语句加上控制语句的集合灵活性高在服务器端存储客户端调用时降低网络负载可多次重复被调用可随时修改不影响客户端调用可完成所有的数据库操作也可控制数据库的信息访问权限 9.4、 语法 CREATE PROCEDURE 过程名 ( [过程参数[,…] ] ) 过程体 [过程参数[,…] ] 格式 过程名尽量避免与内置的函数或字段重名 过程体语句 [ IN | OUT | INOUT ] 参数名类型 实例 ##创建存储过程## DELIMITER $$ #将语句的结束符号从分号;临时改为两个$$(可以自定义) CREATE PROCEDURE Proc() #创建存储过程过程名为Proc不带参数 - BEGIN #过程体以关键字 BEGIN 开始 - create table mk (id int (10), name char(10),score int (10)); - insert into mk values (1, wang,13); - select * from mk; #过程体语句 - END $$ #过程体以关键字 END 结束 DELIMITER ; #将语句的结束符号恢复为分号 9.5、调用存储过程 CALL Proc(); I 存储过程的主体都分,被称为过程体 II 以BEGIN开始以END结束若只有一条sQL语句则可以省略BEGIN-END III 以DELIMITER开始和结束 mysglDEL工M工TER $$ $$是用户自定义的结束符 省略存储过程其他步骤 mysqlDELIMITER ; 分号前有空格 9.6、查看存储过程 格式 mysql show create procedure proc\G SHOW CREATE PROCEDURE [数据库.]存储过程名; #查看某个存储过程的具体信息 后缀加“G”与不加  显示的方式 9.7、查看存储过程 SHOW PROCEDURE STATUS 9.8、查看指定存储过程 mysql SHOW PROCEDURE STATUS like %proc%\G 9.9存储过程的参数 IN 输入参数表示调用者向过程传入值传入值可以是字面量或变量 OUT 输出参数表示过程向调用者传出值(可以返回多个值)传出值只能是变量 INOUT 输入输出参数既表示调用者向过程传入值又表示过程向调用者传出值值只能是变量 即表示调用者向过程传入值又表示过程向调用者传出值只能是变量) mysql delimiter mysql create procedure proc (in inname varchar(40)) #行参- begin- select * from info where nameinname;- end mysql delimiter mysql call proc2(wangwu); #实参 修改存储过程 ALTER PROCEDURE 过程名[特征... ] ALTER PROCEDURE GetRole MODIFIES SQL DATA SQL SECURITY INVOKER; MODIFIES sQLDATA:表明子程序包含写数据的语句 SECURITY:安全等级 invoker:当定义为INVOKER时只要执行者有执行权限就可以成功执行 删除存储过程 存储过程内容的修改方法是通过删除原有存储过程之后再以相同的名称创建新的存储过程。DROP PROCEDURE IF EXISTS Proc;
http://www.pierceye.com/news/344760/

相关文章:

  • 网站做优化效果怎样iis怎么做网站空间
  • 重庆市建设局网站郑州网站建设哪一家好
  • wordpress指定分类广告金融网站排名优化
  • 美妆网站建设方案陕西网络公司网站建设
  • 北京地铁建设的网站深圳建网站兴田德润可信
  • 平台门户网站建设企业战略规划方案
  • 北京网站备案的地址住房和城乡建设部网站质保金
  • 网络营销自学网站腾讯云服务器cvm
  • 建设旅行网站策划书浙江省职业能力建设处网站
  • 网站项目建设的组织机构wordpress做登录
  • 定制杯子岳阳优化营商环境
  • 中学院新校区建设专题网站如何搭建网络教学平台
  • 网站开发课程设计体会房地产查询官网
  • 网站建设 响应式 北京出口外贸网站建设
  • 做网站图片格式做旅游网站的yi
  • 公司网站做二维码网址人防门电气图纸符号大全久久建筑网
  • 电商网站特点中国制造网怎么注册
  • 酒店网站建设便宜酒店设计
  • 东莞网站建设规范新版wordpress编辑
  • 自己的简历网站怎么做工业网页设计欣赏
  • 建设银行苏州官网招聘网站未明潮网站建设保密协议
  • 河南省住房和城乡建设厅查询网站叫外包公司做网站不肯给源代码的
  • 手机站模板权威发布是指什么
  • 青岛开发区做网站做网站的公司上海
  • 哈尔滨自助建站平台如何让网站火起来
  • 高州手机网站建设公司静态网页有哪些网站
  • 格兰仕网站开发方案表情包生成器在线制作
  • 便捷网站建设公司网站网页建设实训心得
  • 怎样做国外能看到的网站计算机大专生的出路
  • jsp网站开发四库全书怀化市住房与城乡建设厅网站