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

宿迁手机网站开发公司电话网站建设设置分享功能

宿迁手机网站开发公司电话,网站建设设置分享功能,wordpress视频悬停,浙江建设局网站目录 一、库语句 1.查询现有数据库 2.创建数据库 3.选中数据库 ​编辑 4.删除数据库 二、初阶表操作 1.查看数据库现有表 2.查看表结构 3.创建表 4.删除表 5.全列查询 6.删除表2 7.修改操作 三、插入操作 1.全列插入 2.指定列插入 3.一次插入多组数据 4.插入…目录 一、库语句 1.查询现有数据库 2.创建数据库 3.选中数据库 ​编辑 4.删除数据库 二、初阶表操作 1.查看数据库现有表 2.查看表结构 3.创建表 4.删除表 5.全列查询 6.删除表2 7.修改操作 三、插入操作 1.全列插入 2.指定列插入 3.一次插入多组数据 4.插入操作的细节 四、数据库的约束 1.not null 2.unique 3.default 4.primary key 5.foreign key 6.check 五、一阶查询 1.指定列查询 2.表达式查询 3.去重查询 4.排序查询 5.条件查询* 6.分页查询 六、二阶查询 1.新增插入查询 2.聚合查询 3.分组查询 group by having: 七、三阶查询/多表查询 1.多表查询及步骤 2.多表查询join on 3.外连接 4.自连接 5.子查询 6.合并查询 一、库语句 1.查询现有数据库 1语法show databases; 2示例  表示当前有五个数据库  2.创建数据库 1语法create database 库名 2创建失败示例忘记加关键字database 3创建成功示例 4细节 数据库的名字也不能使用mysql中的关键字 除非加上的符号例如关键字 5指定字符集* 语法charset 字符集名  在创建数据库时在名字后面加上 charset utf8 如create database 数据库名 charset utf8 一般mysql默认字符集是GBK这样是无法使用汉字字符的需要指定utf8才可。我们是推荐都在创建数据库的后面加上否则后续只能重新建数据库  3.选中数据库 1语法use 数据库名 2示例 3作用只有选中数据库才能进行后续的表操作  4.删除数据库 1语法drop database 数据库名字 2示例 3后果删除数据库后对应所有的表也会消失所以这个是一个很危险的操作 二、初阶表操作 在选中数据库之后才能进行的表操作同一个数据库中表名不能重复不同库则可以 1.查看数据库现有表 1语法show tables; 2示例 2.查看表结构 1语法desc 表名 2示例可以查询表的结构有多少列分别对应什么名字和类型 3.创建表 1语法create table 表名(变量名字 类型,变量名字 类型,……); 2示例 3注意名字在前类型在后类型就决定了后续插入数据的类型 4.删除表 1语法drop table 表名 2示例 3注意删表是比删库还危险的操作慎重 5.全列查询 1语法select * from 表名 2作用查询这个表的所有列和已有的数据 3示例该表中只有一个数据 4注意这种操作只适合在前期学习的时候使用当数据量庞大的时候不推荐 6.删除表2 1语法delete from 表名 where 条件; 删除的维度都是一行也需要添加合适的条件不添加任何条件就是删除这个表的所有 2与drop的区别 drop是删除整个表表和内容都没了。 delete删除是把表的内容都删完了但是表格还在。 3示例 7.修改操作 1语法update 表名 set 列名 值 where 条件; 如果不加限制条件会将一列所有的元素全部修改。这种会影响硬盘上面存储的数据 2示例修改单个列 3示例修改多个列 注意事项 修改时不能超出类型本身的限制否则就是修改失败。 为了防止被修改的数据太多我们建议一条一条的修改也就是在后面加上limit 1的限制 三、插入操作 进行插入操作时最好是清楚表的结构否则容易出现错误 1.全列插入 1语法insert into 表名 valuse(值,值,值,值…); 2作用这样的操作是对所有的列都插入操作值必须刚好对应上所有的列 3示例关键字into是可以省略的 2.指定列插入 1语法insert into 表名 (列名,列名……) values(值,值……); 2注意每个值要对应的相应的列两个列名的顺序可以换但是相应的值顺序也要换 3示例这里只插入了name、age未插入的列默认为null值 3.一次插入多组数据 1一次性全列插入多组数据 做法只需要多加几个括号即可 2一次性指定列插入多组数据 4.插入操作的细节 1基本数据类型 1表示整数int 2表示小数double 3表示字符串varchar    使用时在后面指定长度 4表示时间日期datetime 5decimal(a,b)表示小数a表示这个数的长度b表示小数的位数 2插入字符串 字符串例如汉字字符、字符串需要在两头加上单引号或者双引号(英文) 3插入时间 插入时间例如2018-3-28 也需要加上单引号或者双引号如2018-3-28 四、数据库的约束 这是在建表的时候加上的约束约束也是对表起的效果 1.not null 1作用用来限制某一列不能为空 2正常无约束时 3加上约束后 4插入数据失败 5成功插入数据 2.unique 1作用限制这一列的值不能有重复的 2没有约束时 3加约束 4插入数据失败 3.default 1作用设置默认值。当没有对这列数据赋值时默认是default。没有加该约束时默认是NULL 2正常无约束时 3未加约束时的默认展示 4加了约束后 5添加数据后 4.primary key 1作用主键用来标记某一列作为身份的唯一标识。类似身份证的作用 外键的两个要求 1不能为null 2不能重复 2 未设置主键时 3加了主键后 4当被主键约束且为空时 5当重复时 6not null和unique配合也可以承当主键 7主键的使用推荐 1.一个表只能有一个主键 2.一个主键不一定只针对一个列很少用 3.主键一般设置在整数类型 8自增主键 写法在设置主键时跟在主键后面。关键字auto_increment 添加后 作用 当插入数据的这一列不赋值时系统自动赋值为当前最大值1 插入数据 各种情况 3-99的值如果需要用需要手动指定 5.foreign key 1作用外键约束用于两张表的约束。设置外键的列在父表中也是唯一的被主键约束或者被unique约束 2语法格式子表的列名不一定要和父表名字一样 列名 类型,foreign key (子表的列名) references 主表(父表的列) 3未设置外键时 他们的列名相同按理来说student的classId必须遵循class表中的classId也就是如果class表中没有的idstudent中是不能有的。但是这两个表当前并没有任何关系也就是没有被约束所以可以随便填 4重新设置外键 外键设置的表称为子表表示受限于父表 此时class称为父表student称为子表。student中的classId值在class表中要必须存在 5当值不存在时 正常添加 6不能随便删和修改除父表的值 如何删除父表呢加一个标记字段 1.在父表中增加一个字段可以约定这个值为1时表示有效数据当为0是表示无效数据 2.在想要删除的时候不能直接delete而是可以把这个字段改成0 3.后续在查询的时候只能返回有效数据因此相当于删除了 4.这种做法在计算机很多方面都有使用称为逻辑删除 6.check 用来规定填入的某个数据只能是某个值如男或女 语法格式sex varchar(2),check (sex 男 or sex 女) 这种用法很少且新版本才支持所以用的很少很少 五、一阶查询 前面提到过全列查询是一个危险操作所以下面学习其他方式的查询操作   1.指定列查询 1语法select 列名,列名 from 表名 2示例 2.表达式查询 1语法select 表达式(由列组成) from 表名; 2示例 3表达式可以起别名语法as 别名 不仅表达式可以起别名后续的很多情况也可以起别名 3.去重查询 1语法select distinct 列名 from 表名 2作用查询的所有列中会将重复的两行合并成一行 3示例第一个是未查重的第二个是查重操作 合并失败所有的列并不重复只有部分重复 4.排序查询 1语法select * from 表名  order by 列名/表达式  默认排升序 2排降序语法select * from 表名  order by 列名/表达式 desc 3未排序 按照math排升序 按照math排降序 4细节 1.NULL在order by 的时候视为最小值 2.如果存在多个NULL他们的顺序是不确定的 3.select 列名 from oeder by 列名order by后面的列名不一定要在select后面的列名中出现 4.在SQL中对操作数进行算数运算时只要有一个NULL最终结果就是NULL 5可以排序多个列如果第一个列名相同则会继续比较第二个 5.条件查询* 1语法select */列名/表达式/去重……  from  表名  where 条件条件就是一些一些符号表达式可以有多个 2表达式用来表示条件这里不推荐使用别名 3示例展示 1,,,  2、、!、 用来判断null一般使用和 3between and  前闭后闭 4in  匹配离散集合 5like 两个通配符 1%表示可以匹配任意多个包括0任意字符 2_表示任意一个字符 查询孙某 like模糊匹配的缺点开销很大性能非常低 6is NULL、is not null 用来查询非空/空的行 7and、or、not   一般and的优先级高于or 逻辑符号相当于java中的、||和 4作用使用好可以配合后面的操作更细腻的查询精准的信息 6.分页查询 1语法 1limit数字限制每次查询最多返回的记录个数。如limit 3只能查询到前3条记录 2offset偏移量。如limit 3 offset 3偏移了前3条记录从第4条开始向后查询3条。不写offset时默认是0 3limit 63这里的6代表offset3代表查询的最大条数 2作用配合排序操作可以查询第几条消息 3示例 查询总成绩前三的同学 六、二阶查询 这里的查询操作可以把多个行进行合并 1.新增插入查询 1语法insert into 表1 select * from 表2; 2作用在查询表1的时候可以同时把查询到的数据插入到表2中 3全列查询插入 4指定列查询插入 2.聚合查询 通过聚合函数将多个行合并  1语法select 聚合函数(列名)  from 表名; 2聚合函数 函数说明count返回查询到的数据的数量sum返回查询到的数据总和不是数字没有意义avg 返回查询道德数据的平均值不是数字没有意义 max返回查询到的数据的最大值不是数字没有意义min返回查询到的数据的最小值不是数字没有意义 3count 返回查询到的数据的数量行数。 步骤先查询结果再进行聚合 求总行数NULL也会计算在内 求个别列NULL不会计算 4sum 求总和不是数字没有意义 sum不能进行*查询只能指定列 5avg 求平均值不是数字没有意义 6max 求最大值不是数字没有意义 7min 求最小值不是数字没有意义 3.分组查询 group by 1定义  对指定列进行分组操作指定某个列针对这个类把值相同的行分到一组中可以针对每个组分别进行聚合查询。 2注意事项 1.select指定的列必须是分组依据字段否则就会像下面的一样有的数据不会显示。 2.非group by的列不应该直接写在select查询的列中但是搭配聚合函数是可以的。 会有这些问题 3group by结合聚合查询进行 查询每个岗位有多少人 步骤 第一先执行select role,id from emp先将指定表中的这些列查询出来 第二再根据group by role按照role这个列的值和上面查询的结果进行分组 第三根据每个组进行count聚合操作 id和role都进行了聚合就不会发生数据丢失 但是这样子不可以必须配合聚合操作 4求每个岗位的平均的薪水分组依据岗位 错误非group byd的列role应该使用聚合函数 修改 待考证 having: 给聚合查询指定条件。在group by分组之后不能使用where语句而是需要having where可以在分组前使用聚合之前的条件也就是在平均工资里面没有计算张三 查询每个岗位的平均工资但是刨除平均工资超过2w的数据条件是在聚合之后执行的只能用having 上面两种条件结合 七、三阶查询/多表查询 联合查询又称多表查询一次性可以查询多个表。 基本语法1select * from 表名,表名 where 条件  基本语法2select * from 表名 join 表名 on 条件 1.多表查询及步骤 1同时查询两个表就行将两个表中的行分别进行全排列也就称为笛卡儿积 实践多表查询 通过下面的查询这样不设置条件直接查询会得出很多无效的数据 加上条件 2总结步骤 下面有四张表 1班级表 2学生表 3课程表 4分数表 汇总 总结步骤 1先确定要查询的信息来自哪些表 2针对这两个表进行笛卡儿积 3加上连接条件去掉无效条件 4再根据题目要求补充其他条件 3按照步骤进行查询 查询许仙同学的成绩 1确定信息来自哪些表 2对这两个表进行笛卡儿积 3加上连接条件去掉无效条件 4接着补充条件 优化 2.多表查询join on 语法表1 join 表2  on  条件 1使用join on查询许仙同学的成绩  2查询所有同学的总成绩及同学的个人信息 第一步表来自student、score 第二步加入连接条件 第三步优化 3查询所有同学的成绩及同学的个人信息 第一步列出相关的表学生表、课程所有的成绩需要知道对应的科目、分数表 第二步三个表笛卡儿积 第三步设置连接条件 第四步精简 一般多个表之间笛卡儿积的话每两个表之间都会有联系的否则是不好笛卡儿积的数据量太庞大。 以上的写法属于内连接 3.外连接 内连接和外连接都是基于笛卡儿积进行计算的但是对于空值/不存在的值处理方式是不一样的。内连接只能得到两张表中都存在的数据而外连接不一样 外连接只能使用join on 的方式写可以在join前头加上left/right的关键字称为左连接/右连接。加上后表明left/right表的数据会全部输入 student  join score此时在join的左边student就是左侧表右侧就是右侧板。 加了left左边的表会保证每个数据都会存在不存在部分会有null补充 4.自连接 自连接就是同一张表对自己进行笛卡儿积 1查询所有同学的“计算机原理”成绩比“Java”成绩高的成绩信息 所有成绩  对应的课程 题目要求就是找到课程号3的成绩大于课程和1的也就是31。两个成绩都在一张表上比较的话就是行与行之间的比较不好实现。这个时候借助笛卡儿积就可以就两个表放在一起这就是自连接。 直接笛卡儿积 做法自连接时给两张表都起别名。下面圈起来的就是满足条件的 加上优化条件对应同一个人 加上左边是计算机原理课程右边是Java课程 加上分数对应大小关系31 自连接的优缺  优可以把行之间的关系转换成列之间的关系 缺产生的很多结果是没有必要的 5.子查询 这种查询方式将简单问题复杂化例如直接将一个函数的返回值作为另一个函数的参数直接写在了一行上面复杂化 概念 把多个sql嵌套成了一个sql在实际中不推荐使用。返回一行记录的子查询 1查询与“不想毕业”同学的同伴同学 步骤要想知道他的同班同学需要知道是什么班通过名字可以查询到他们是什么班级 正常查询 先查询“不想毕业”同学的班级号 通过班级号可以查询到他们班 使用子查询 2多行子查询 使用in()的条件查询在in中可以有多个参数 查询“语文”或“英语”课程的成绩信息  需要知道课对应程号通过课程号可以查到这科的成绩 正常的查询 多行子查询 6.合并查询 可以同时查询多个表最后把结果合并到一张表上并输出。使用关键字union 正常查询查询id小于3或者名字为“英语”的课程。 使用or 使用合并查询 这样使用union不是多此一举吗?不是的union可以查询不同的表而or只能针对一张表。 要求每个表查询的结果集合列中的类型和个数都要匹配才能合并并且可以自动去重 两个不同的表 合并查询
http://www.ho-use.cn/article/10816339.html

相关文章:

  • 水果行业为什么做网站房子设计图片
  • 大学英语精品课程网站建设内蒙古住房和建设厅网站
  • 陕西免费网站建设四川住房和城乡建设局网站首页
  • 阅读分享网站模板网站iis配置
  • 百度网站推广费用多少钱wordpress显示英文版
  • 南庄建网站哪个网站可以做会计分录
  • 福田网站建设方案服务百度推广一个点击多少钱
  • 网站验收标准成都装修公司前十名
  • 海珠营销型网站制作微网站如何建设方案
  • wordpress模板建站网站建设名
  • 资源下载网站源码做一个公众号要多少钱?
  • 深圳微商城网站制作公司小象编程官网登录入口
  • 电影网站建设 流程网页设计基础入门
  • 网站网址ip查询网站不支持m.域名
  • 用凡科做的网站要钱吗开发一款网络游戏需要多少钱
  • 徐州网站制作福建住房和城乡建设厅网站首页
  • 网站建设的因素一般网站做推广要多大的带宽和内存
  • 网站模板首页广告设计与制作教程
  • 做网站有什么软件吗营销网络怎么写
  • 六安网站定制株洲专业网站建设品牌
  • 站长之家关键词挖掘工具iis 网站打不开 建设中
  • 企业网站seo实微网站功能介绍
  • 档案网站建设视频电脑上如何做网站宣传
  • 做网站一个月需要多少钱成都的科技公司有哪些
  • 外卖网站开发wordpress 权限 插件
  • 佛山企业网站搭建公司wordpress页面内容
  • 电子商务网站建设 实验分析关于做网站的问卷调查
  • 公司要想做个网站这么弄饰品类网站建设定位
  • 织梦网站如何播放mp4WordPress更该主题
  • 电子商务网站建设软件跨境电商的网络营销方式