- 浏览: 1332769 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (471)
- 原创文章 (4)
- Database (84)
- J2SE (63)
- Web (26)
- Javascript (30)
- Lucene (11)
- os (13)
- 算法 (8)
- Webservice (1)
- Open projects (18)
- Hibernate (18)
- Spring (15)
- Css (2)
- J2ee (2)
- 综合技术 (18)
- 安全管理 (13)
- PatternsInJava (27)
- NIO (5)
- Ibatis (2)
- 书籍收藏 (1)
- quartz (7)
- 并发编程 (15)
- oracle问题 (2)
- ios (60)
- coco2d-iphone (3)
- C++ (6)
- Zookeeper (2)
- golang (4)
- animation (2)
- android (1)
最新评论
-
dandingge123:
【引用】限制UITextField输入长度的方法 -
qja:
...
对List顺序,逆序,随机排列实例代码 -
安静听歌:
现在在搞这个,,,,,哎~头都大了,,,又freemarker ...
通用大型网站页面静态化解决方案(一) -
springdata-jpa:
java quartz定时任务demo教程源代码下载,地址:h ...
Quartz 配置参考 -
马清天:
[b][/b][list][*]引用[u][/u][/list ...
通用大型网站页面静态化解决方案(一)
主键的值必须是唯一的,并且不能为空,这可以提高MySQL从多个表中取得数据或者取得指定键值对应的行的速度。MySQL通过一个特殊的称为Index索引的数据结构做到这一点,Index是找到一条记录的快捷方式,就像图书馆的卡片目录。
2.查看表的列定义使用describe命令.
3.整数列大小默认是11.
4.Insert时引号的使用:数字数值、函数和NULL不要用,字符串数值、时间、日期则要用引号括起来。
5.使用alter修改表定义时,即使没有改变列的数据类型,列的定义仍然必不可少。
6.在使用select语句时,你应该养成TABLE.COLUMN方式来引用列,这样可以避免混淆。
7.结果排序用select XX from YY order by zz;
8.使用自然连接natural join可以避免输入很长的命令:MySQL可以把两个表中的同名域连接起来。可以使用左连接方式将表连接起来。
9.join on也是连接,但是需要指定要进行连接的列。SELECT * FROM books JOIN authors ON (books.title_id = authors.title_id);
10.使用别名可以将长的表名换成较短的,还可以让你在同一个查询中两次引用同一个表而区分你究竟是引用的第一个还是第二个。
SELECT * FROM books AS b,authors AS a WHERE b.title_id = a.title_id;
11.SQL语句特点:做什么+ 大概从哪+具体从哪,例如select from * where title_id=1;
12.查找:SELECT * FROM authors WHERE author LIKE "%b%"; 百分号是通配符,表示一个或多个。而下划线_则表示一个字符。
12.通过包含另外一张表的主键而形成的表之间的连接被称为外键关系。
13.数据库的关系有三种:一对一、一对多、多对多。以一个在线书店为例,用户和其邮寄地址(假设只能设定一个地址)时一对一的关系,而图书的类型 与具体书籍则是一对多的关系,用户对书则是多对多的关系。多对多的关系被转换为两个一对多关系的变换表才能在数据库中体现出来。
14.规范化:
理清数据之间的关系并找出组织数据的最有效方式的过程被称作规范化。要规范化一个数据库,需要从最基础的规则开始,分为三个阶段——第一范式、第二范式、第三范式,后者必须在前者完成的基础上才可得以进行。
第一范式:解决数据在同一行内的冗余,要求所有的表不能重复的包含同样的数据列,所有的列中只能包含一个值,必须存在一个主键可以唯一指定一行数据,主键可以是一列或者多列,这取决于需要多少列才能唯一指定一行数据。
第二范式:解决数据在列中的冗余,要求不包含重复数值的列,这样的列要在其单独的表中,使用原有表中的主键来引用。
第三范式:满足前两个范式后第三范式是可选满足的条件,要求你找出表中不完全依赖于主键而依赖于其它域的数据,将这些信息单独放在一个表中。但这样的结果会产生太多的表,所以规范化也是需要把握度。
15.备份数据库:mysqldump -u root -p store > my_backup_of_store.sql
备份其中一个表:mysqldump -u root -p store authors > authors.sql
完全备份一个数据库:mysqldump -u root -p --all-databases > my_backup.sql
创建一个空的副本:mysqldump -u root -p --no-data store > structure.sql
只备份数据库数据而不备份数据库结构:mysqldump -u root -p --no-create-info store > data.sql
注:定期备份是best practise
16.恢复:
mysql -u root -p < my_backup.sql
要是有选择性的备份,则需要使用-D,mysql -u root -p -D store < my_backup.sql
17.导入:
mysqlimport -u root -p --fields-terminated-by=',' store books.txt
18.索引:
Index的数据是经过排序的,数据组织方式对查询进行了优化。我们要决定对哪些数据域进行索引,每个索引在存储上都是一个单独的数据文件。索引必 须先定义后使用。使用索引的好处总结起来两点:匹配索引列的查询可以非常快,检查索引值的唯一性非常快,坏处在于对被索引的表的插入和删除操作会比较慢, 而且需要额外的存储空间。
创建索引:CREATE UNIQUE INDEX authind ON authors (author) ;可以为多个列创建索引。适合用来索引的列是那些有可能被用在where子句中的列,特别是如果你知道某些特定列的组合会被用到时,就可以为这些列创建一个多列索引。
19.group by指定使用哪一列或者哪几列进行分组。
20.concat可以将多个域连接起来在结果中表示。SELECT CONCAT(title,' has ',pages,' pages.') FROM books;
+----------------------------------------+
| concat(title,' has ',pages,' pages.') |
+----------------------------------------+
| Linux in a Nutshell has 476 pages. |
| Classic Shell Scripting has 256 pages. |
+----------------------------------------+
21.使用预定义分隔符连接:SELECT CONCAT_WS(',',author_id,title_id,author) FROM authors;
+------------------------------------------+
| CONCAT_WS(',',author_id,title_id,author) |
+------------------------------------------+
| 1,1,Ellen Siever |
| 2,1,Aaron Weber |
| 3,2,Arnold Robbins |
| 4,2,Nelson Beebe |
+------------------------------------------+
22.字符串长度:
SELECT CONCAT(title,' has ',LENGTH(title), ' characters.') FROM books;
+-----------------------------------------------------+
| CONCAT(title,' has ',LENGTH(title), ' characters.') |
+-----------------------------------------------------+
| Linux in a Nutshell has 19 characters. |
| Classic Shell Scripting has 23 characters. |
+-----------------------------------------------------+
23.字符串填充
SELECT LPAD(title,30,'.') FROM books;
+--------------------------------+
| LPAD(title,30,'.') |
+--------------------------------+
| ...........Linux in a Nutshell |
| .......Classic Shell Scripting |
+--------------------------------+
24.事务
强制数据库把几个更改操作看做一个工作单元,要么全部成功,要么全部失败。若使用存储引擎支持事务,比如InnoDB或者BDB,可以使用“start transaction”命令开始一个事务,事物结束时通过commit提交更改或rollback取消更改来完成。
发表评论
-
mysql主从热备配置(含innodb)终极版
2012-12-25 13:10 2648转自 http://blogread.cn/it/articl ... -
sqlite3中的数据类型
2012-12-10 21:37 1333(转)http://www.cnblogs.com/kfqco ... -
Mac下MySql卸载方法
2012-09-10 23:57 1054Mac下MySql卸载方法 mac下mysql的D ... -
mac os x mysql数据库utf8配置
2012-09-10 23:29 2282进入mysql console: 输入 mysql& ... -
ON DUPLICATE KEY UPDATE
2012-08-07 01:47 1091(转自)http://blog.csdn.net/kesaih ... -
MySQL单列索引和组合索引的区别介绍
2012-08-07 01:31 1106(转自)http://blog.cs ... -
centos下MySQL主从同步配置
2012-08-03 13:14 1558(转自)http://apps.hi.baidu.com ... -
sql语句中left join、inner join中的on与where的区别
2012-06-13 13:24 1263table a(id, type): id t ... -
分组取前N记录
2012-05-31 16:24 1125(转)http://blog.csdn.net/ac ... -
如何一条sql语句取出分组数据中值最大的
2012-05-30 23:59 2363--按某一字段分组取最大(小)值所在行的数据(2007-10- ... -
存储过程与函数的区别
2011-09-28 19:35 1158... -
RMAN备份方案
2011-07-21 10:29 2060RMAN备份方案 RMAN也可以进行联机备份,而且备份与恢 ... -
oracle
2011-04-06 17:46 1049学习笔记 -
PLSQL Developer + Oracle客户端简易安装方法
2011-03-17 00:10 14381Oracle 10g绿色客户端 pl ... -
SELECT INTO FROM与INSERT INTO SELECT
2011-01-26 15:52 34101.INSERT INTO SELECT语句 ... -
浅谈unique列上插入重复值的MySQL解决方案
2011-01-25 11:33 1781本文的unique列上插入重复值解决方案,主要基于MySQL平 ... -
:Oracle 中对Merge语句的增强 和去重复新增
2011-01-25 11:11 2321在Oracle 10g之前,merge语句支持匹配更新和不匹配 ... -
单行函数(仅对单个表达式或一行进行处理)
2011-01-23 18:49 1272例如:select sum(qty) from sales ... -
oracle中的事务控制命令
2011-01-23 18:45 2104事务提交有显示提交:使用commit命令来提交所有未提交的更新 ... -
oracle全文检索
2011-01-23 18:18 61551.全文检索和普通检索的区别 不使用Oracle text功 ...
相关推荐
拾零工具箱是一款集系统维护、功能修复、常用设置及娱乐休闲于一身的工具箱。新手菜鸟也能轻松玩转,10分钟成为电脑高手。 拾零工具箱纯代码实现了大量常用工具的功能,聚合了20个电视电影及音乐频道,11个精彩游戏...
"拾零工具箱v9.8"是一款综合性的实用工具集合,主要针对系统维护和优化。这个工具箱可能包含了各种日常计算机管理所需的功能,比如系统清理、注册表修复、磁盘整理、进程管理、网络诊断等。其核心价值在于提供了一个...
老邮差PS网上拾零老邮差PS网上拾零老邮差PS网上拾零
拾零影音盒
"拾零工具箱"是一款免费的系统工具软件,旨在为用户提供便利的计算机管理与优化功能。作为一款小巧而实用的工具集,它包含了多种日常电脑维护和问题解决所需的实用工具,帮助用户提升电脑的运行效率,优化系统设置,...
**拾零工具箱**是一款专为计算机用户设计的系统维护和功能修复软件,它集成了丰富的功能,旨在简化用户在日常使用电脑时遇到的各种问题。作为一款绿色免费版的工具箱,它无需安装即可使用,大大降低了用户的使用门槛...
拾零工具箱是一款集系统维护、功能修复、常用设置及娱乐休闲于一身的工具箱。新手菜鸟也能轻松玩转,10分钟成为电脑高手。 拾零工具箱纯代码实现了大量常用工具的功能,聚合了20个电视电影及音乐频道,11个精彩游戏...
《拾零电视盒V3.5》是一款专为电视观看设计的小巧软件,其体积轻便,不到400KB,却能提供高清电视节目观看体验。这款软件以"拾零"命名,寓意其小巧而实用,如同在众多信息中拾取到的宝贵资源。版本号V3.5表明它已经...
拾零工具箱是一款集系统维护、功能修复、常用设置及娱乐休闲于一身的工具箱。新手菜鸟也能轻松玩转,10分钟成为电脑高手。 拾零工具箱纯代码实现了大量常用工具的功能,聚合了20个电视电影及音乐频道,11个精彩...
一款集影视,音乐,和系统常用小工具的集合软件,很好用,绿色无毒
埃及饮食文化拾零.doc
【拾零影音盒v5.22.rar】是一款集视频播放、音频播放和电台收听功能于一体的综合性多媒体软件。这款软件的独特之处在于它整合了多种媒体资源,使得用户无需安装多个独立的应用程序,就能满足观看电影、听音乐以及...
《Photoshop实例教程之老邮差PS网上拾零》是一份专门为Photoshop初学者和爱好者设计的教程资源,由知名Photoshop导师“老邮差”精心编撰。这份教程涵盖了他在网络上分享的各种Photoshop技巧和实战案例,旨在帮助用户...
### 嵌入式Linux相关_编译器知识拾零 #### 一、编译器基础知识 在嵌入式Linux领域,编译器是将源代码(Source program)转换为目标语言(Target language)的关键工具。通常,源代码是用高级语言(如Pascal、C++等...
拾零工具箱为广大计算机爱好者量身定制,定位于系统维护、功能修复、休闲娱乐,功能强大,操作简单。拾零工具箱由AU3编译而成,历经六个多月开发,日臻完善。金山毒霸、360、AVAST、卡巴基斯均报安全。大部分功能纯...
在IT安全领域,手动杀毒是一项关键技能,尤其是在处理复杂或顽固的恶意软件时。本文将深入探讨注册表中的自启动项,这些项是病毒和恶意软件常用的一种机制,用于在用户启动计算机时自动运行。了解并掌握这些启动项,...