当前位置:Gxlcms > 数据库问题 > ( 6 )MySQL中数据的高级操作 (五子句)

( 6 )MySQL中数据的高级操作 (五子句)

时间:2021-07-01 10:21:17 帮助过:9人阅读


数据操作:增删改查 新增数据 语法: insert into 表名 [(字段列表)] values (值列表); 主键冲突 当主键存在冲突(Duplicate key)的时候,可以进行选择性处理:更新和替换。 更新操作 insert into 表名 [(字段列表:包含主键)] values(值列表) on duplicate key update 字段 = 新值; 替换操作 replace into 表名 [(字段列表:包含主键)] values(值列表) ;   蠕虫复制 特点:从已有的数据中去获取数据,然后将数据又进行新增操作 分裂式增长,数据成倍增加。   表创建的高级操作:从已有表创建新表(复制表结构) Create table 表名 like 数据库.表名;   蠕虫复制: 先查出数据,然后将查出的数据新增一遍 insert into 表名[(字段列表)] select 字段列表/* from 数据库表名; 可以复制自己的表也可以复制另外的表。 注意:复制的时候不要复制主键,防止主键冲突。   意义: 1,从已有的表中拷贝数据到新表中; 2,可以迅速的让表中的数据膨胀到一定的数量级,可以测试表的压力和效.
更新数据 基本语法 update 表名 set 字段 = 值 [where条件] ; 高级新增语法 update 表名 set 字段 = 值 [where条件] limit 数量;
删除数据 高级基本语法 delete from 表名 [where条件] limit 数量; 删除:如果表中存在主键自增长,那么当删除之后,自增长不会被还原。 数据的删除是不会改变表结构的,只能删除表之后的重建表。   truncate table 表名; --先删除表,后增加表;
查询数据 基本语法 select */字段列表 from 表名[where条件]; 完整语法 select [select选项] 字段列表 [as] [字段别名] /* from 数据源 [where条件] [group by子句] [hanving 子句] [order by 子句] [limit 子句]; select 选项: All:默认的,保留所有的结果; Distinct:去重,查出来的结果,将重复的去除(所有字段相同) 字段别名: 当数据进行查询的时候,有时候名字并不一定满足需求(对表查询的时候可能会出现同名字段),需要对字段名进行重命名:别名。 语法: 字段名 as 别名; 数据源: 数据的来源,关系型数据库的数据的来源数据表,本质上只要保证数据类似二维表,最终都可以作为数据源。 数据源分类:单表数据源,多表数据源,查询语句(表子查询:数据的来源是一条查询语子)。 where子句: 用来判断数据,筛选数据; where子句返回结果:0或1;0代表false;1代表true; 判断条件: 运算符:>,<,>=,<=,!=,<>,=,like,between and ,in ,not in . 逻辑运算符:&&(and) , ||(or) , !(not). where 原理: where是唯一一个直接从磁盘获取数据的时候就开始判断的条件,从磁盘取出一条记录,开始进行条件判断,判断的结果如果成立就保存到内存中,如果失败就直接放弃. group by子句: group by :分组字句,根据某个字段进行分组(相同的放一组,不同的分到不同的分组) 基本语法: select * from 表名 group by 字段名; having 子句: having子句 :与where子句一样 进行条件的判断. 1. where是针对磁盘数据进行操作:进入内存之后,会进行分组操作,分组的结果就要 用having子句来处理. having 几句能做where能做的所有事情,但是where却不能做having能做的很多事情 分组统计的结果或者说函数统计的结果都之后having能够使用. 2. having 能够使用字段别名 ,where不能. 因为where是从磁盘取数据,别名只能是字段名,别名是字段进入到内存后才会产生的. order by 子句 : order by : 排序 根据某个字段进行升序或者降序,依赖校对集 使用基本语法: order by 字段名 [asc | desc]; --asc 是升序(默认),desc是降序. 排序可以进行多字段排序: 先根据某个字段进行排序,然后排序好的内部,再按照某个字段进行再次排序 limit子句: limit子句是一种限制结果的语句 : 限制数量. limit有两种使用方式: 方案1. 只用来限制长度(数据量) :limit 数据量 ; 方案2. 限制起始位置,限制数量: limit 起始位置 , 长度;-- limit Offset length; 从指定的位置,找几个出来. 记录数从0开始. limit方案2 主要用来实现数的分页:为用户节省时间,提交服务器的响应效率减资源的浪费Length : 每页显示的数据量,基本不变 . Offset : offset = ( 页码 - 1 ) * Length ---要显示的起始位置      
   

( 6 )MySQL中数据的高级操作 (五子句)

标签:高级   排序   字段   limit   选择   产生   单表   多表   失败   

人气教程排行