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

什么设计网站好开发公司交房流程及注意事项

什么设计网站好,开发公司交房流程及注意事项,长沙在线网站的目标客户,wordpress加qq在本例中使用如下数据库表#xff1a; #xff08;图 1#xff09; 该表的表名为student#xff0c; 存储学生信息。 所有字段的数据类型都是TEXT 。 其中id和name作为复合主键。 email字段加上了唯一约束。建表语句如下#xff1a; CREATE TABLE IF NOT EXISTS student …在本例中使用如下数据库表                                              图 1 该表的表名为student 存储学生信息。 所有字段的数据类型都是TEXT 。 其中id和name作为复合主键。 email字段加上了唯一约束。建表语句如下  CREATE TABLE IF NOT EXISTS student (id TEXT,name TEXT NOT NULL,sex TEXT,email TEXT UNIQUE,fenshu TEXT CHECK(fenshu 0),tecid TEXT REFERENCES teacher(id),class TEXT, PRIMARY KEY(id, name) ) replace语句的行为 1 replace语句会删除原有的一条记录 并且插入一条新的记录来替换原记录。 为了验证这个结论 下面打开Sqlite命令行 执行以下语句来替换id为2的记录。 sqlite replace into student (id, name, sex, email, fenshu, tecid, class) values(2, lisi, *F, 123456qq.com, 80, 2, 1); 执行完这条语句之后 student表中的数据变成下图所示 图 2 对比图1和图2 可以发现 在图1中 id为2 的记录是表中的第一条记录 当执行完上述的replace语句之后 id为2的记录位于整张表的最后。 这就说明 这条replace语句删除了原有的id为2的记录 有插入了一条新的id为2的记录。 2 一般用replace语句替换一条记录的所有列 如果在replace语句中没有指定某列 在replace之后这列的值被置空 。 下面我们还是以id为2 的记录做实验 执行如下语句 sqlite replace into student (id, name, sex, email, fenshu, tecid) values (2, lisi, *F, 123456qq.com, 80, 2); 该语句还是替换id为2 name为lisi的记录 只是在指定列的时候 没有指定class列。 在执行完成之后 表中的数据如下 图 3 对比图2和图3 可以看到 id为2 name为lisi的记录的class字段没有值。 3 replace根据主键确定被替换的是哪一条记录 在该表中 把id和name指定为复合主键。 在上面两条语句执行的时候 都在values中指定了id为2 name为lisi 。 执行之后看到的结果也是id为2 name为lisi的记录被替换。 这就说明了replace语句根据主键的值确定被替换的是哪一条记录。 4 replace语句不能根据where子句来定位要被替换的记录 执行以下语句 sqlite replace into student (id, name, sex, email, fenshu, tecid) values (2, lisi, *F, 123456qq.com, 80, 2) where id 2; 会报如下错误 Error: near where: syntax error 5 如果执行replace语句时 不存在要替换的记录 那么就会插入一条新的记录。 在student表中 我们让id和name成为复合主键。 下面我们使用replace语句替换id为100 name为a 的记录。 从图3中可以看到 表中存在name为a的记录 但是这条记录的id为7 而不是100 。也就是说 id为100 name为a 的记录不存在。 执行如下语句 sqlite replace into student (id, name, sex, email, fenshu, tecid, class) values(100, a, *F, 123456qq.com, 80, 2, 1); 执行完成之后 表中的数据如下   图 4 可以看到 在表中插入了一条新的记录。 6 如果新插入的或替换的记录中 有字段和表中的其他记录冲突 那么会删除那条其他记录。 上面的第5步同时也说明了这个问题。 对比图4 和图5 发现在插入一条新的id为100 name为a的记录之后 还删除了id为2 name为lisi的记录。 为什么会这样呢 我们在开始的时候说过 表中的email字段加上了唯一约束。 id为2的记录的email和新插入的id为100的记录中的email相同 都是123456qq.com 。 这就导致违反唯一约束 所以在插入id为100的记录之前 删除了id为2的记录。 下面再次验证一下。 现在我们替换id为5 name为lisi3 的记录 将它的email替换为2163.com 。 表中的id为5的记录的email字段也是2163.com 所以会导致违反唯一约束。 执行下面的语句 sqlite replace into student (id, name, sex, email, fenshu, tecid, class) values(5, lisi3, F, 2163.com, 80, 2, 1); 执行完这条语句之后 表中的数据如下图 图 5 对比图4 和 图5 发现id为5的记录被替换掉 并且把这条记录的email设置为2163.com 这和图4中原有的id为6的记录冲突 所以导致id为6的记录被删除 在图5 中已经没有id为6的那条记录了。 replace语句和update语句的对比 对于update语句 因为经常使用到应该算比较熟悉。 下面对比一下update和replace语句的行为 只是简单陈述 不再以具体实例说明。 update语句使用where子句定位被更新的记录 update语句可以一次更新一条记录 也可以更新多条记录 只要这多条记录都复合where子句的要求 update只会在原记录上更新字段的值 不会删除原有记录 然后再插入新纪录 如果在update语句中没有指定一些字段 那么这些字段维持原有的值 而不会被置空 转自http://www.2cto.com/database/201404/292368.html
http://wiki.neutronadmin.com/news/260636/

相关文章:

  • 延安做网站的公司seo培训机构
  • ftp制作网站深圳品牌网站建设公司
  • 网站建设网络推广公司百度wordpress安装
  • 软件下载网站制作介绍自己做的网站的论文
  • 临沂手机网站制作房地产市场规模
  • 网站适配手机屏幕万网买好域名后如何开通网站
  • 合肥建站推广网站建设需要哪些人才
  • 12306网站学生做单页面优化的重点
  • 网站建设相关资质网站域名空间地址
  • 单屏网站设计做网站办贷款
  • 网站上线准备工作wordpress月亮
  • 装修网站建设公司电商设备网站怎么做
  • 南京汤山建设银行网站WordPress rss连接
  • 莱芜招聘网百度seo优化方法
  • 网站开发充值功能Wordpress html5 动画
  • 扬州网站建设icp备商城类网站建设
  • 手机网站弹出导航菜单手机网站模板 餐饮
  • 做网站设计工资多少钱wordpress归档页面
  • 中国建设工程机械网站东莞网站优化一般多少钱
  • 怎么看网站是什么程序做的深圳搜索营销
  • 加强学校网站建设的通知网站建设目标及需求
  • 网站开发哪家好python好还是wordpress
  • 网站开发成本计算铁道部建设监理协会网站查询
  • 淄博网站搭建公司企业网站建设实训总结
  • 做ptt网站一键 wordpress
  • 东莞网站推广运营抖音网站建设的基本情况
  • 构建电子商务网站的步骤纯flash网站价格
  • 美词原创网站建设开发中英文切换网站如何做
  • 古城做网站的公司深圳网络推广引流
  • WordPress免插件实现QQ咨询seo网站设计招聘