随笔分类 -  mysql

摘要:关系型数据库表结构的设计,有下面两个设计技巧: 物理主键作为关联的外键 关系型数据库,由多个数据表构成。每一个数据表的结构是相同的,不同表之间可能存在关联关系。表之间的关联关系,正是关系型数据库得名的原因。 一个表由多个字段构成。其中可能有多个字段适合作为主键。主键字段,就是表中每一行都不会有重复数 阅读全文
posted @ 2016-03-01 09:46 我是鸡蛋 阅读(563) 评论(0) 推荐(0)
摘要:在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time = getdate() where id = 1那么 MySQL 中如何实现这样的逻辑呢?别着急!MySQL 中有更简单的方法: replace int... 阅读全文
posted @ 2014-03-06 10:14 我是鸡蛋 阅读(290) 评论(0) 推荐(0)
摘要:Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用。语法TRUNCATE TABLE name2参数name是要截断的表的名称或要删除其全部行的表的名称。3注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记 阅读全文
posted @ 2014-03-06 10:03 我是鸡蛋 阅读(312) 评论(0) 推荐(0)
摘要:一、key与primary key区别 CREATE TABLE wh_logrecord (logrecord_id int(11) NOT NULL auto_increment,user_name varchar(100) default NULL,operation_time datetime default NULL,logrecord_operation varchar(100) default NULL,PRIMARY KEY (logrecord_id),KEY wh_logrecord_user_name (user_name) )解析:KEY wh_logrecord_us 阅读全文
posted @ 2014-03-06 09:57 我是鸡蛋 阅读(187) 评论(0) 推荐(0)