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

成都的建站公司浏览器在线打开网页

成都的建站公司,浏览器在线打开网页,全球十大网站访问量排名,网络平台建设公司文章目录 #x1f4c2; Create(创建/新增)#x1f4cc;全列插入与指定列插入#x1f4cc;#x1f4cc;单行数据插入与多行数据插入#x1f4cc;#x1f4cc;插入数据否则更新#x1f4cc;#x1f4cc;数据的替换#x1f4cc; #x1f4c2; Retrieve(查询)#x1f4c… 文章目录 Create(创建/新增)全列插入与指定列插入单行数据插入与多行数据插入插入数据否则更新数据的替换 Retrieve(查询)SELECT语句全列查询 指定列查询 查询字段为表达式 查询结果取别名 去重 where条件比较运算符逻辑运算符结果排序筛选分页结果 Create(创建/新增) 对于表内数据的创建无非就是对数据的插入; INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ... value_list: value, [, value] ...存在一张表为: mysql create table if not exists stu(- id int(2) unsigned zerofill primary key commentid并设置主键约束,- sn int(5) unsigned zerofill not null unique comment学号,- name varchar(20) not null comment姓名,- email varchar(32) null comment邮箱- ); Query OK, 0 rows affected (0.00 sec)mysql desc stu; ------------------------------------------------------------ | Field | Type | Null | Key | Default | Extra | ------------------------------------------------------------ | id | int(2) unsigned zerofill | NO | PRI | NULL | | | sn | int(5) unsigned zerofill | NO | UNI | NULL | | | name | varchar(20) | NO | | NULL | | | email | varchar(32) | YES | | NULL | | ------------------------------------------------------------ 全列插入与指定列插入 以该表为例,若是需要为该表插入数据,插入数据的方式分为全列插入与指定列插入; 全列插入 全列插入指的是在插入数据时需要插入表中所有的字段; 即表中有几个字段就需要根据字段个数与字段要求插入对应的数据; mysql insert into stu values(1,1,Lihua,123456xx.com); #全列插入 Query OK, 1 row affected (0.00 sec)mysql select * from stu; --------------------------------- | id | sn | name | email | --------------------------------- | 01 | 00001 | Lihua | 123456xx.com | --------------------------------- 1 row in set (0.00 sec)在默认的插入中使用的即为全列插入,在全列插入时values前不需要使用()来指明需要插入 的字段,只需要在values后使用()按照字段顺序插入对应数据即可; 语法: insert [into] table_name values (value_list) [, (value_list)] ...其中带[]的为可省略; 指定列插入 指定列插入,顾名思义是需要指定所插入的字段进行插入; mysql insert into stu (id,name,sn)value(2,Zhangqian,2);#指定列插入 Query OK, 1 row affected (0.00 sec)mysql select * from stu; ------------------------------------- | id | sn | name | email | ------------------------------------- | 01 | 00001 | Lihua | 123456xx.com | | 02 | 00002 | Zhangqian | NULL | ------------------------------------- 2 rows in set (0.00 sec)如该段代码所示,这段代码演示了如何使用指定列插入,插入数据时在values前使用()指定了需要插入数据的字段,在插入数据时根据所指定字段的顺序以及对应的要求对表进行数据的插入; 语法: insert [into] table_name [(column [, column] ...)/*指定列*/]values (value_list) [, (value_list)] ...单行数据插入与多行数据插入 无论是全列插入还是指定列插入都能进行对应的单行数据与多行数据插入; 这表示在MySQL中对于各种条件的混用是十分灵活的; 单行数据插入 单行数据插入即在解释全列插入与指定列插入所使用的数据插入; mysql insert into stu values(1,1,Lihua,123456xx.com); #单行数据插入 这个代码中为什么叫做单行数据插入? 在MySQL中我们将字段称之为列,对应的行即为对应的一组数据; 这里的values(1,1,Lihua,123456xx.com)即为插入一行数据,该行数据根据对应的字段如上; 多行数据插入 而要进行多行数据插入则可以直接使用,(value_list)来对数据进行追加; 示例:(这里以全列插入为例,指定列插入不再作示范) mysql insert into stu values(3,3,Liqiang,112233),(4,4,Zhangwu,223344),(5,5,Liuba,445566); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0mysql select * from stu; ------------------------------------- | id | sn | name | email | ------------------------------------- | 01 | 00001 | Lihua | 123456xx.com | | 02 | 00002 | Zhangqian | NULL | | 03 | 00003 | Liqiang | 112233 | | 04 | 00004 | Zhangwu | 223344 | | 05 | 00005 | Liuba | 445566 | ------------------------------------- 5 rows in set (0.00 sec)插入数据否则更新 INSERT ... ON DUPLICATE KEY UPDATE column value [, column value] ...插入数据否则更新这个是为了应对当在插入数据时发生的主键冲突或者唯一键冲突 当插入数据时发生主键冲突或者唯一键冲突时使用这个语法时将会将原本的数据删除并以新的数据进行插入并替换该数据; 以该表为例: ------------------------------------- | id | sn | name | email | ------------------------------------- | 01 | 00001 | Lihua | 123456xx.com | | 02 | 00002 | Zhangqian | NULL | | 03 | 00003 | Liqiang | 112233 | | 04 | 00004 | Zhangwu | 223344 | | 05 | 00005 | Liuba | 445566 | ------------------------------------- mysql show create table stu\G *************************** 1. row ***************************Table: stu Create Table: CREATE TABLE stu (id int(2) unsigned zerofill NOT NULL COMMENT id并设置主键约束,sn int(5) unsigned zerofill NOT NULL COMMENT 学号,name varchar(20) NOT NULL COMMENT 姓名,email varchar(32) DEFAULT NULL COMMENT 邮箱,PRIMARY KEY (id),UNIQUE KEY sn (sn) ) ENGINEMyISAM DEFAULT CHARSETutf8从上面的代码可以看出其中id字段设有主键约束,sn字段设有唯一键约束; 在不使用替换的语法前对其进行插入数据,且人为的触发其中一个约束冲突; #主键冲突 mysql insert into stu values(5,6,Lianhua,22222); ERROR 1062 (23000): Duplicate entry 05 for key PRIMARY#唯一键冲突 mysql insert into stu values(6,5,Lianhua,22222); ERROR 1062 (23000): Duplicate entry 00005 for key sn当发生冲突时使用语法使其完成当发生键值冲突进行替换; mysql insert into stu values(5,6,Lianhua,22222) - on duplicate key update id 6,sn 6,name LIANHUA,email22222; Query OK, 2 rows affected (0.00 sec)mysql select * from stu; ------------------------------------- | id | sn | name | email | ------------------------------------- | 01 | 00001 | Lihua | 123456xx.com | | 02 | 00002 | Zhangqian | NULL | | 03 | 00003 | Liqiang | 112233 | | 04 | 00004 | Zhangwu | 223344 | | 06 | 00006 | LIANHUA | 22222 | #-已经发生了替换 -------------------------------------从上面的操作可以看出原来的其中一个字段为: | 05 | 00005 | Liuba | 445566 | 在这次插入失败后进行了替换,替换为了: | 06 | 00006 | LIANHUA | 22222 | 不仅如此,在替换成功时也有对应的提示: Query OK, 2 rows affected (0.00 sec) 在MySQL中以该方式进行数据插入时,会有对应提示: -- 0 row affected: 表中有冲突数据但冲突数据的值和 update 的值相等 -- 1 row affected: 表中没有冲突数据数据被插入 -- 2 row affected: 表中有冲突数据并且数据已经被更新数据的替换 数据的替换类比于上一个插入数据否则更新; 数据的替换真正的意义上是: 若是发生主键冲突或者唯一键冲突,则删除原数据再进行插入;若是未发生主键冲突也未发生唯一键冲突,则直接插入数据; 对应的语法即为INSERT INTO变为REPLACE INTO; mysql replace into stu values(5,6,Lianhua,22222); Query OK, 2 rows affected (0.00 sec)Retrieve(查询) 在数据库中查询是一个非常频繁的工作,需要根据不同的场合以及不同的条件进行查找; ------------------------------------- | id | name | chinese | math | english | ------------------------------------- | 1 | Lihua | 67 | 88 | 90 | | 2 | Liming | 57 | 58 | 70 | | 3 | Zhaolao | 66 | 80 | 47 | | 4 | Wu | 76 | 70 | 47 | | 5 | Wuqi | 88 | 43 | 80 | | 6 | Liqiang | 89 | 92 | 90 | | 7 | Qinsu | 90 | 74 | 67 | | 8 | Zhaoli | 54 | 74 | 100 | -------------------------------------SELECT语句 在MySQL中SELECT语句是一个高频语句; 其功能可以根据条件对表数据进行查询; 其查询不单单能对数据,还能对表达式、函数等等… mysql select 11; ----- | 11 | ----- | 2 | ----- 1 row in set (0.00 sec)全列查询 在MySQL中*符号代表通配符; SELECT * FROM table_name; 该句指令即表示查询表中所有字段(列); 以该中方式即可以打印出表中的所有字段的数据; mysql select * from Point; ------------------------------------- | id | name | chinese | math | english | ------------------------------------- | 1 | Lihua | 67 | 88 | 90 | | 2 | Liming | 57 | 58 | 70 | | 3 | Zhaolao | 66 | 80 | 47 | | 4 | Wu | 76 | 70 | 47 | | 5 | Wuqi | 88 | 43 | 80 | | 6 | Liqiang | 89 | 92 | 90 | | 7 | Qinsu | 90 | 74 | 67 | | 8 | Zhaoli | 54 | 74 | 100 | -------------------------------------指定列查询 指定列查询,顾名思义就是指定对应的字段进行查询; 语句:SELECT 字段1,字段2... FROM table_name; 示例: mysql select name,chinese from Point; ------------------ | name | chinese | ------------------ | Lihua | 67 | | Liming | 57 | | Zhaolao | 66 | | Wu | 76 | | Wuqi | 88 | | Liqiang | 89 | | Qinsu | 90 | | Zhaoli | 54 | ------------------查询字段为表达式 SELECT不仅能查询表中的字段,也能查询表达式; 示例: mysql select name,chinese,6 from Point; --------------------- | name | chinese | 6 | --------------------- | Lihua | 67 | 6 | | Liming | 57 | 6 | | Zhaolao | 66 | 6 | | Wu | 76 | 6 | | Wuqi | 88 | 6 | | Liqiang | 89 | 6 | | Qinsu | 90 | 6 | | Zhaoli | 54 | 6 | ---------------------在该次查询中查询的除了字段以外还查询了一个常量表达式; 查询结果取别名 当一个查询的字段由一个较为复杂的表达式合成时,可以将该表达式使用as将其改名; 需要注意的是,在SELECT查询为结果的字段进行改名时,这个操作一般是靠后的,即将数据处理完后将其打印时才能将其进行改名,所以不能先进行改名再将其进行其他操作; 示例: mysql select name,chinesemathenglish as 总分 from Point; ----------------- | name | 总分 | ----------------- | Lihua | 245 | | Liming | 185 | | Zhaolao | 193 | | Wu | 193 | | Wuqi | 211 | | Liqiang | 271 | | Qinsu | 231 | | Zhaoli | 228 | -----------------其中这里的as可以省略不写; 去重 这里的去重指的是对最终的结果在显示前进行去重; 其语法即为SELECT DISTINCT 字段 FROM table_name; mysql select math from Point; # 未使用去重 ------ | math | ------ | 88 | | 58 | | 80 | | 70 | | 43 | | 92 | | 74 | | 74 | ------mysql select distinct math from Point; # 结果去重 ------ | math | ------ | 88 | | 58 | | 80 | | 70 | | 43 | | 92 | | 74 | ------where条件 在大部分的情况下,SELECT在查询数据时应该配合着行的限制与列的限制从而达到筛选数据的效果; 若是不对数据进行筛选而是无脑选择SELECT * FROM table_name;来将数据进行全部显示的话可能会因为数据量过于庞大不便于观察且并没有筛选出需要条件的数据而做出的无用查看; 在MySQL中可以使用where条件来为SELECT查看的数据做出对应的条件限制从而达到能够查看到对应的数据; 同样的接下来的操作将基于上表进行; 比较运算符 , , , 若是满足条件则显示1,否则显示0; mysql select 12; ----- | 12 | ----- | 0 | ----- 1 row in set (0.00 sec)mysql select 12; ----- | 12 | ----- | 1 | ----- 1 row in set (0.00 sec)示例: 显示出math大于90的人的名字与成绩 mysql select name,math from Point where math90; --------------- | name | math | --------------- | Liqiang | 92 | ---------------与 在MySQL中的等于有两种,分别为以上两种; 两种的等于在实质性的使用层面并没有太多的区别; 唯一的区别只是对NULL进行判断; #-------------------------------------- mysql select 1 1; ------- | 1 1 | ------- | 1 | -------mysql select 1 2; ------- | 1 2 | ------- | 0 | -------mysql select NULL NULL; ------------- | NULL NULL | ------------- | NULL | ------------- #-------------------------------------- mysql select 11; ------- | 11 | ------- | 1 | -------mysql select 12; ------- | 12 | ------- | 0 | -------mysql select NULLNULL; ------------- | NULLNULL | ------------- | 1 | ------------- #--------------------------------------不等于 !、 在MySQL中的不等于为以上两种,但是无论哪种不等于都无法对NULL做比较; mysql select NULL NULL; -------------- | NULL NULL | -------------- | NULL | -------------- 1 row in set (0.00 sec)mysql select NULL NULL; ------------- | NULL NULL | ------------- | NULL | ------------- 1 row in set (0.00 sec)范围匹配BETWEEN a0 AND a1 范围匹配一般用来判断一个数是否属于该范围内,且该范围属于左闭右闭区间([a0,a1]); mysql select 5 between 0 and 10; -------------------- | 5 between 0 and 10 | -------------------- | 1 | -------------------- 1 row in set (0.00 sec)示例:找出math区间为[70,75]的数据: mysql select name,math from Point where math between 70 and 75; -------------- | name | math | -------------- | Wu | 70 | | Qinsu | 74 | | Zhaoli | 74 | --------------该数据是否为一组数据中的其中一个IN (option,...) 该运算符一般判断一个数据是否存在于一组数据中; mysql select 12 in (10,12,14); ------------------ | 12 in (10,12,14) | ------------------ | 1 | ------------------ 1 row in set (0.00 sec)示例:分别找出english为(70,80,90,100)的数据; mysql select name,english from Point where english in (70,80,90,100); ------------------ | name | english | ------------------ | Lihua | 90 | | Liming | 70 | | Wuqi | 80 | | Liqiang | 90 | | Zhaoli | 100 | ------------------ 5 rows in set (0.00 sec)是NULL IS NULL 与 非NULL IS NOT NULL 该运算符一般用来判断一个字段是否为NULL; mysql select NULL IS NULL; -------------- | NULL IS NULL | -------------- | 1 | -------------- 1 row in set (0.00 sec)mysql select NULL IS NOT NULL; ------------------- | NULL IS NOT NULL | ------------------- | 0 | ------------------- 1 row in set (0.00 sec)模糊匹配LIKE 该运算符一般用来模糊匹配,其中%表示多个(包括0)个任意字符,_表示任意一个字符; 示例:分别找出name为W的字段与W_ 的字段; mysql select * from Point where name like W%; ---------------------------------- | id | name | chinese | math | english | ---------------------------------- | 4 | Wu | 76 | 70 | 47 | | 5 | Wuqi | 88 | 43 | 80 | ----------------------------------mysql select * from Point where name like W_; ---------------------------------- | id | name | chinese | math | english | ---------------------------------- | 4 | Wu | 76 | 70 | 47 | ----------------------------------逻辑运算符 运算符说明AND多个条件为TRUE(1)时结果为TRUE(1);OR任意一个条件为TRUE(1)时结果为TRUE(1);NOT条件为TRUE(1)时结果为FALSE(0); 结果排序 结果排序可以将数据再处理完时对其进行排序处理(一般该操作的顺序为最后的操作); 且没有进行ORDER BY子句的查询所返回的结果顺序一般都是未定义的,即不可靠的; 语法: SELECT ... FROM table_name [ WHERE ... ]ORDER BY column [ASC|DESC],[...];#其中:#ASC为升序,DESC为降序;#默认为ASC升序;示例: 显示name与math的字段且math为升序的条件显示; mysql select name,math from Point order by math ASC; --------------- | name | math | --------------- | Wuqi | 43 | | Liming | 58 | | Wu | 70 | | Qinsu | 74 | | Zhaoli | 74 | | Zhaolao | 80 | | Lihua | 88 | | Liqiang | 92 | --------------- 8 rows in set (0.00 sec)筛选分页结果 在MySQL中经常会因为数据量过大而导致不便于数据的观察; 而在MySQL中有这么一条语句可以便于结果的观察,即为筛选分页结果; 语法: #分页时的起始下标为0;SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n; -- 从起始下标开始筛选n条结果;SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s,n; -- 从s开始,筛选n条结果SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s; -- 从s开始,筛选n条结果(该方法的表达更为明确)示例: 查看name与math字段并使用order by以降序的方式进行排序最终结果每页显示3条; mysql SELECT name,math from Point order by math desc limit 3 offset 0; --------------- | name | math | --------------- | Liqiang | 92 | | Lihua | 88 | | Zhaolao | 80 | --------------- 3 rows in set (0.01 sec)mysql SELECT name,math from Point order by math desc limit 3 offset 3; -------------- | name | math | -------------- | Qinsu | 74 | | Zhaoli | 74 | | Wu | 70 | -------------- 3 rows in set (0.00 sec)mysql SELECT name,math from Point order by math desc limit 3 offset 6; -------------- | name | math | -------------- | Liming | 58 | | Wuqi | 43 | -------------- 2 rows in set (0.00 sec)
http://www.dnsts.com.cn/news/232989.html

相关文章:

  • 昆明网站制作方案定制为什么要给企业建设网站?
  • 赣州酒店网站建设天津建网站
  • 北京建网站定制价格网站加ico图标
  • dede制作的网站挂马做网站服务
  • 网站建设狼盾网络更改wordpress语言
  • 高校文明建设网站百度词条官网入口
  • 云南网站建设公司优化网站seo策略
  • 泰州做企业网站wordpress 自适应插件
  • 建设一个网站需要多少钱医院建筑工程网
  • 网站开发 问题解决企业网页申请制作步骤
  • 个人网站备案可以做项目网站vi设计找哪家公司
  • 网站活动页面设计青岛物流公司网站建设
  • 新的seo网站优化排名 排名百度商桥绑定网站
  • 网站除了做流量还需要什么软件吗巨腾网站建设
  • 淘宝网网站设计分析北京游戏软件开发公司
  • 企业网站建设效益分析建设银行开通网银网站
  • 服装外贸网站设计网站公司做销售怎么样
  • 站长统计官方网站网站开发资金规模
  • 太原心诺做网站网站创建多少年了
  • 郑州定制网站推广工具产品做某个网站接口违法
  • 什么是网站架构百度指数官网查询入口
  • 福建百川建设有限公司网站设计网站免费下载
  • 网站怎么添加链接代码公司网站可以做服务器吗
  • 分享代码的网站山东建设网站广告
  • 网站模板大全下载mysql创建WordPress
  • 如何做网站的信息分类麻涌网站建设公司
  • 网站建设与管理设计哪个网站平面设计做的好
  • 网站制作对公司的作用不要钱的ppt模板网站
  • 企业网站跟微信支付怎么做福建手工外发加工网
  • 网站做树状结构有什么作用做国际网站装修