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

188网站开发建设工程质量监督网站

188网站开发,建设工程质量监督网站,哈尔滨网站建站模板,有没有手机网站推荐一.常见的数据库端口号 Mysql默认端口:3306 oracle 默认端口:1521 Sql server 默认端口:1433 注:Mysql采用 的是C/S(客户端/服务器端)架构 二.sql 语法基础 服务器,数据库,数据表,记录,字段之间的关系: 一台Mysql服务器可以管理多个数据库 一个数据库可以存在多张二维表…一.常见的数据库端口号 Mysql默认端口:3306 oracle 默认端口:1521 Sql server 默认端口:1433 注:Mysql采用 的是C/S(客户端/服务器端)架构 二.sql 语法基础 服务器,数据库,数据表,记录,字段之间的关系: 一台Mysql服务器可以管理多个数据库 一个数据库可以存在多张二维表, 一张表可以存在多条记录, 一条记录由多个字段组成, 字段是最终的元数据. 注:# 为注释,不会被认为sql语句,每一条 sql语句以;(英文分号结尾) 数据库中常用的数据类型 整数: int 有符号范围-2147483648 ~2147483647无符号范围0 ~ 4294967295 可以不用设置长度 小数;decimal, decimal(6,2)表示整数部分加小数部分 字符串:   字符串是一个或多个字符的序列这些字符可以是字母、数字、标点符号等。在数据库中字符 串通常用于存储文本数据如姓名、地址、描述等。 在 SQL 语句中使用引号可以明确告诉数据库该值是一个字符串而不是其他类型如整数或 浮点数。如果不使用引号某些字符或字符序列可能会被误认为是 SQL 命令或特殊字符从而导 致错误。引号内的内容会被当作一个整体处理包括其中的空格和特殊字符。 带引号的数据都是字符串单引号、双引号都可以 中文字符串文字信息 英文字符串abc 数字字符串123 变长字符串 :varchar  定长字符串 char 区别分析 1.都是用来存储字符串的,只是他们的保存方式不一样并非是指对字符串长度的限制字符串 长度的限制通过数字来限制长度。 2.char 有固定的长度,而 varchar 属于可变长的字符类型 日期时间 ;datetime dete 只有日期 扩展知识 : 整数型tinyint,int 拥有不同长度的整型 支持整数型但是支持不同大小的整数型。 标准的整型4 个字节 支持 1,2,3,4,8 种类型的长度长度的不同意味着整型的范围是不相同的 小数型 floatdoubledecimal MySQL 浮点型和定点型可以用类型名称后加MD来表示M 表示该值的总共长度D 表示 小数点后面的长度M 和 D 又称为精度和标度。 浮点数 浮点数按小数位数分为单精度和双精度 float占用 4 个字节32bit数值范围为-3.4E38~3.4E387 个有效位) double占用 8 个字节64bit数值范围-1.7E308~1.7E30815 个有效位 定点数 decimal数字型128bit不存在精度损失 MySQL DECIMAL 数据类型用于在数据库中存储精确的数值。我们经常将 DECIMAL 数据类型用于 保留准确精确度的数据例如货币数据。 sql 语句最常报错原因: 表名重复,字母输错, 中午输入法下输如逗号,该空格的地方没空格, navicat 闪退 原因多是由于屏幕取词功能没有开启 创建表  数据库中 列与字段的区别: 实际存在表中的就是列 在运行时创建的,表中实际不存在的就是字段,例如聚合函数的查询结果 表名默认转换成小写,列名(字段)不区分大小写 语法: create table 表名( 列名 类型(长度) 约束1 约束2 , 列名2  类型(长度) 约束1 约束2, ....... );         常见约束: primary key (主键约束) :表中唯一的标识符,主键不允许重复,不允许为空, not null (非空) :此列不允许写空值 auto_increment (自动递增):此列的值会自动递增填充 unsigned 无符号数 :  default 默认值 :当不填写时会使用默认值 unique 唯一:此字段不允许重复 check 检查约束: 确保列中的值满足特定的条件 foreign key ;维护两个表之间的关联关系 comment :备 主键与唯一约束的区别  1.同一张表中只能有一个主键,但可以有多个unique  2.主键的字段值不能为nul,唯一约束的字段值可以为null 3. 主键字段可以作为其他表的外键,唯一约束不能做其他表的外键 注意:列名里面不能有空格 例 1 创建学生表 students 字段 1 姓名 name( 变长字符串长度为 10) 并编写备注 create table students ( name varchar(10) comment 姓名) comment 学生表; 例 2创建学生表 student2 字段 1id整数类型不能有符号、主键、自动递增 字段 2姓名 name(变长字符串长度为 20、默认值为刘德华) -字段 3年龄 age整数类型、不能有符号、默认值为 20 字段 4身高 high(小数类型一共 5 位数字保留小数点后两位) create table student2( id  int unsigned primary key auto_increment, name varchar(20) default 刘德华, age int unsigned default 20, high decimal(5,2) ); 字段都已经限制是 int 了有必要还搞一个 unsigned 吗 如果只限制 int那么是可以输入、保存负数的 如果是 intunsigned那么只能输入、保存 正整数。 插入一列 alter  table 表名 add 列名  类型(长度) 约束 1 约束 2 例给表 students 增加一列地址 address 类型变长字符串长度 20 alter table students add address varchar(20); 关于反引号的使用 反引号在 mysql 中是为了区分 mysql 中的保留字符与普通字符而引入的符号例如在出现字段 名与 SQL 关键字相同、标识中含空格等情况下就需要使用否则可能出错但反引号不是必须的 在确保不会导致歧义发生的情况下可以省略掉。 删除一列  alter table 表名 drop 列名 例删除表 students 中的地址列 address alter table students drop address ; 删除表  1. drop table 表名  若表不存在,报错,停止执行 2.drop table if exists 表名 若表不存在,不报错继续执行 一次性删除多张表用逗号隔开表名即可 添加行信息 一.添加多行信息 insert into 表名 values (值 1, 值2 ,....),(值 1, 值2 ,....),...; 二.跨行添加信息  insert into 表名 (列名1,列名2,列名3) values(值1,值2,值3); 例在 student3 表中新增一行添加几个单元格的信息姓名 name 王五性别 sex 男 insert into student3 (name ,sex )values(王五,男); 删除行数据 delete from 表名 where 列名 列值 ; 例 1 删除 student3 表中 id 为 6 的行数据 delete from student3 where id6  注意:仅执行delete from 表名; 将会删除表格中的所有行信息 update 修改数据  update 是对已经存在的数据进行修改 修改一列的值 格式: update 表名 set列名新值 例:给表 student 增加一列 idcord类型整数然后设置 idcord列的值为3 alter table student add idcord int;  update student set idcord 3; 修改行中多个单元格的值 格式: update 表名 set 列1值1,列2值2 ....where 列名列值; 例将表 student  中 id 为 5 的学生姓名 name 修改为 狄仁杰年龄 age 修改为 20 update student set name狄仁杰,age20 where id5; 将一列值增加 格式:  update 表名 set 列名列名i; 例 将 student  表中年龄列都增加 1 update student set ageage1; select 查询语句 查询表格全部信息  格式: select * from 表名 查询某一列的信息  格式: select 列名 from 表名 查询某几列的内容 格式: select 列1 ,列2 from 表名 where ●难点 当需要缩小范围、限制条件的时候可以通过 where……语句实现。 每条语句只能有一条where语句 查询行信息 在表名之后使用 where 对表中的数据筛选符合条件的数据会出现在结果中 语法 select * from 表名 where 列名列值 where 后面支持多种运算符对条件进行处理 小于等于 大于等于 不是 xx 的所有结果 ! 比较运算、逻辑运算、模糊查询、范围查询、空判断 别名 as (多表联查经常使用) 给表名起一个别名 ,不会实质性修改表的内容,目的是为了使语句写起来更加简单 select * from 表名 as 别名 注意:别名可以为中文,为中文时,加不加引号都可以,仅在这一次查询中起作用  在等值连接,子查询中表名一旦起了别名,除了起别名的地方,其他地方,都只能使用别名 一旦使用原名,就会保存 distinct 消除重复行(结果展示一个) 在 select 后面 列名 前使用distinct 可以消除重复的行 语法: select  distinct  列名 from  表名 例查询 student 表中学生家乡 hometown 分布情况结果去除重复 select  distinct  hometown form student ; 比较运算符 等于 大于 大于等于 小于 小于等于 不等于 ! 或 逻辑运算符 在 sql语句中:当需要 缩小范围,限制条件时,首先考虑使用where,如果sql 语句中已经有了 where ,则使用 and ,where 只能有一个,and可以有多个 having 只能用于group by 之后, 对内容进行 进一步的过滤 and (并且): 显示结果是多个条件(多个and)必须同时满足的结果 例 1 在 student  表中查询 2 班的男同学的信息 select * from  student where class2班and sex男; or 或者: 多个条件中,哪个条件能满足,就显示他的查询结果, 如果都满足,都显示 在 student  表中查询 studentno 是 5 或 名字为王昭君的学生信息 select * from student where name5 or studentno王昭君; Not 取反 效果跟 ! 一样 例 在 student  表中查询家乡不是天津的学生信息 select * from student where  not hometown天津; 模糊查询 like % 表示任意多个字符,或 什么字符都没有, 主要适用字数不限制的场景 _表示一个任意字符,适用字数限制的场景 % 表示任意多个字符 like 李% 模糊查询以 百字开头的内容 like % 飞模糊查询以飞字结尾的内容 like%白%表示内容中包含白的内容(无论第几个字) like_表示 一个 任意字符李_表示内容有 2 个字第一个字是李 like_亮表示内容有 2 个字内容第二个字是亮 like_尚_表示内容是 3 个字中间的字是尚 范围查询 in in : 在一个 非连续范围内的值,跟or效果一样 格式: select * from 表名 where 列名 in (值1,值2,......); not in 表示不在这个范围之中 between...and....在一个连续则范围中 只适用于连续的范围内的数字 效果等同于 xx and xx  格式: select * from 表名 where 列名 between 值1 and 值2 空判断 注意:null 与是不同的 null 是没有任何数据的是空字符串 判空 is null 例 1 在 students 表中查询没有填写 card 信息的学生信息 select * from students where card is null order by 排序 语法: 升序 (从小到大): select * from 表名 order by 列名 asc (asc 可省略) 降序 (从大到小):select * from 表名 order by 列名 desc:  将行数据按照列 1 进行排序如果某些行列 1 的值相同时按照列 2 排序以此类推 语法 select * from 表名 order by 列1 asc/desc ,列2 asc/desc,...... 排序语法一般放 sql 语句的最后面,当表的范围已经确定,已经过滤了之后,最后排序 例 2 在 students 表中查询所有学生信息年龄从大到小排序年龄相同时按学号升序排序 select * from student order by age desc,sno asc; 聚合函数 为了快速得到统计数据,常会用到聚合函数,常在select之后使用,from之前使用 注意:聚合函数不能在where中使用,常在group by中使用  注意:使用聚合函数查询时,不能编辑代码并显示其他的列名,行信息是不对应的 分组聚合 除外 count(*) 统计表格的行数 格式 select count(*) from 表名 max(列) 最大值 格式 select max(列名) from 表名 说明聚合函数从此处开始括号内的内容是筛选数据范围的列名含义与 count*不同。 例在 students 表中查询女生的最大年龄 select max(age) from students min(列) 最小值 格式 select min(列名) from 表名 例在 students 表中查询 1 班学生的最小年龄 select min(age) from students sum(列) 求此列的和 注意使用 sum(列)时不能编辑代码并列显示其它的列名行信息是不对应的分组 聚合 除外。 格式 select sum(列名) from 表名 例查询北京学生的年龄总和 select sum(age) from students where hometown北京 avg(列) 求此列的平均值 注意使用 avg(列)时不能编辑代码并列显示其它的列名行信息是不对应的分组 聚合除 外 格式 select avg(列名) from 表名 例查询女生的平均年龄  select avg(age) from students where sex女 等值连接,内连接,左连接,右连接查询 当查询结果的列来源于多张表时,要将多张表连接成一个大的数据集,选择合适的列返回 等值连接查询和内连接查询: 查询的结果为连个表匹配的到的数据 左连接查询:查询结果为两个表匹配得到的数据加左表特有的数据 ,于右表的数据用null填充 右连接查询:查询结果为两个表匹配得到的数据加右表特有的数据 ,于左表的数据用null填充 等值连接: 等值连接语法: select * form 表1,表2 where 表1.列名表2.列名 (等值连接是通过值相等,来连接的,列名不同,也可以等值连接) 多表联查时,表示某一列时:要以表名.列名的格式来表示 3表联查的等值连接语法: sleect * form 表1,表2 where 表1.列名表2.列名 and 表2.列名表3.列名 内链接 语法: select * from 表1 inner join 表2 on 表1.列表2.列 3表联查 select * form 表1 inner join 表2 on 表1.相同列表2.相同列 inner join 表3 on 表2.相同列表3.相同列 inner join 语法中inner 可以省略 左连接 语法:(注:左表是主表主表的名字放在 left join 的左边) select* form表1 left join 表2 on 表1.列表2.列 三表联查 select * from 表1 left join 表2 on 表1.相同列表2.相同列  left join 表3 on 表2.相同列表3.相同列 右连接  语法: select* from表1 right join 表2 on 表1.相同列表2.相同列 三表联查 select * from 表1 right join 表2 on 表1.相同列表2.相同列  right join 表3 on 表2.相同列表3.相同列 on和using的区别 多表联查,也可以试用using,结果有一定的区别 使用 using 进行多表联查的语法 select * from 表 1 join 表 2 using(列名) using ,是通过列名将表格连接到一起的,列名必须一致 区别 1. 语法不一样 2.使用on,结果会显示2个字段,使用using,结果只会显示1个字段 3.使用on,字段名称可以不一样,是通过等值进行的连接,使用using 字段名必须一致 union联合查询 union all   连接数据集关键字,可以将两个查询结果集拼接为一个,不会过滤掉相同的记录 union  连接数据集关键字,可以把两个查询结果拼接为一个,会过滤掉相同的记录 例 students 的 studentno 列是主键不允许重复未设置自动递增需手动指定值 select name,age,class from student3 union select name,age,class from students; 相同的查询记录会被过滤掉只显示一次 select name,age,class from student3 union all select name,age,class from students; 相同的查询记录不会被过滤掉有多少条记录就显示多少条记录 group by 分组 按照字段分组显示,此字段相同的数据会被放到分组后的一个组中,显示的结果是组名 ,并不意味着该组中只有一行数据 分组之后可以利用having聚合函数进行过滤   分组(group by )依据的列名,要出现在select之后,from之前的位置,否则逻辑错误, 查询可以成功,但是查询的结果并非一一对应 格式: select 列 from 表名 group by 列 例:在student表中查询 按照 家乡分组 select hometown from student where hometown having 使用 关于 where ,and having的使用方法: 当要缩小范围,限制条件,首先要考虑where ,如果SQL语句中已经有了where 了 那就使用and ,一条SQL语句只能有一个where ,可以有多个and, having 只用 在group by 的 分组后的结果进行筛选,having后面的运算条件 跟 where 的相同 分组并统计 格式select列 from 表名 group by 列 having count(*) ...... 例:统计student 表中,生源地学生的数量大于1的生源地名称 select hometown form student group by hometown having count(*)1 分组,聚合运算 子查询中如果括号中select语句中出现分组聚合函数,必须在括号里的select之后,from之前的聚合函数名称字后起别名 ,以供括号外的select语句调用,如果不起别名,命令就会保存! 如果括号外的 select 语句无需调用该聚合函数列的话则不用起别名。 语法: select 列,聚合 ...from 表名 group by 列 扩展使用第一个分组条件分组后再使用第二个分组条件进行分组 语法 select 条件 1,条件 2 from 表名 group by 条件 1,条件 2 例在 students 表中统计每个班的每种性别的人数 select class ,sex  count(*)  from  student group by class sex  limit 获取部分行 语法:  select * from 表名 limit x, y  x 表示 从第?行开始,y表示一共显示的行数 ,x为零时 可以省略 计算机的索引从0开始 子查询 在一个select语句中,嵌入另外一个select 语句,那么被嵌入的select 语句称之为子查询 主查询和子查询的关系 子查询前后加括号嵌入到主查询中子查询是辅助主查询的要么充当条件值,要么充当 数据源子查询是可以独立存在的语句是一条完整的 select 语句 子查询分类 标量子查询、列级子查询、行级子查询、表级子查询 标量子查询  标量子查询的定义: 子查询返回的结果是表中1个单元格的数据,供外部查询语句查询 例1:查询班级学生的平均年龄 select avg(age)from student 例2,查询学生表中年龄大于平均年龄的学生信息 select * from student where age(select avg(age) from studetnt) 列级子查询 子查询的结果是一列(一列多行) ,供外 外部查询语句查询 假如子查询的结果是一列一行由于数据外边有括号外部查询语句仍然可以通过 in 来调用。 例 1: 根据18岁学生的学号,查询其成绩 学生表中查询18岁的学生的学号 select studentno form students where age18 通过学号查询查成绩 select * from scores where studentno in(002,006); 通过列级子查询一部到位: select * from scores where studentno in(select studentno form students where age18) 行级子查询 行级子查询定义: 返回的结果是一行(一行多列),供外部查询语句其中的几个数据进行匹配 注意: 行级子查询只能使用 若使用!连接查询结果不准确,想要用!的场景需要使用标量子查 询使用 and 连接。 例 1查询与百里玄策同性别、同班的学生信息 标量子查询 select * from students where sex (select sex from students where name 百里玄策) and class (select class from students where name 百里玄策) 行级子查询 select * from students where (sex,class) (select sex,class from students where name 百里玄策) 例 2查询与百里玄策性别、班级都不相同的学生信息 只能使用标量子查询 select * from students where sex ! (select sex from students where name 百里玄策) and class ! (select class from students where name 百里玄策) 表级子查询 表级子查询的定义: 内部查询结果是两行两列以上 (就可以理解为是一张表),供外部查询语句使用 当使用 select * from 表 1 a(表级子查询) b where a.列名 b.列名 这个表级子查询语法时 必须给第二张表起别名否则会报错。 子查询中的聚合函数查询结果如果需要被主查询调用时需要给聚合函数起别名否则报错。 例 1查询每个班级中比自己班级平均年龄低的学生的姓名、年龄、班级 2 表联查表级子查询 第一步按照班级分组查询每个班级的平均年龄得到一张表 select class,avg(age) from students group by class 第二步2 表联查表级子查询限制条件 select * from students a,(select class,avg(age) b1 from students group by class) b where a.class b.class and a.age b.b1 子查询中特定关键字使用 in : 相当于多个 and 主查询 where 条件 in (列子查询) any | some : 相当于多个 or 主查询 where 列 any (列子查询)在条件查询的结果中匹配任意一个即可, all: 主查询 where 列 all(列子查询) : 等于里面所有格式等价于 in 主查询 where 列 all(列子查询) : 不等于其中所有等价于 not in
http://www.hkea.cn/news/14518594/

相关文章:

  • 郑州高端网站建设好看的网页设计作品欣赏
  • 网站建设整体设计流程网络软文营销案例
  • 婚礼策划网站高新区网站建设的建议
  • 毕业设计网站设计步骤怎样在阿里云做网站
  • 网站建设公司报价网站建设优秀网站建
  • 贵州网站建设wordpress gif缩略图
  • 新网站seo怎么优化自助免费网站制作
  • 做医疗的网站建设wordpress页面制作视频
  • 备案网站名称大全官方网站建设的方法有哪些方面
  • 网页模板好的网站好wordpress搜索表单
  • 网站设计建设维护汕头模版网站建设
  • 微网站建设找哪家公司网店交易平台
  • 合肥建站企业seo站内优化最主要的是什么
  • 品牌网站织梦模板下载包头索易网站建设
  • 网络公司网站设计多少钱wordpress知名博客主体
  • 上海外贸soho网站建设互动广告
  • 来宾网站制作温州百度推广排名
  • 网站说明页内容维护wordpress搬家后页面空白
  • 一流的赣州网站建设百度怎么建设网站
  • 青岛建站模板厂家微信云开发小程序
  • 有经验的邯郸网站建设电子商务网站建设实用教程教案
  • 图片网站该如何做seo优化亚马逊跨境电商下载
  • 网站广告怎样做网站设计建设公司需要什么资质
  • 聊城网站建设有限公司网站建设求职具备什么
  • 做宣传图册在什么网站建立网站需要做什么
  • 网站更换服务器要重新备案吗网站忘了怎么办啊
  • 电影资源分享网站怎么做的剑阁县规划和建设局网站
  • 怎样网站seo网站统一做301
  • jsp网站开发之html入门知识做产品网站要备案吗
  • 固定ip做网站网络平台运营是做什么的