易截截图软件、单文件、免安装、纯绿色、仅160KB

Web开发笔记2——MySQL拾零

仅仅是看一些书是零零散散记下的,给自己备忘而已。建议去看专业网站的笔记。
1.主键的值必须是唯一的,并且不能为空,这可以提高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.规范化:
理清数据之间的关系并找出组织数据的最有效方式的过程被称作规范化。要规范化一个数据库,需要从最基础的规则开始,分为三个阶段——第一范式、第二范式、第三范式,后者必须在前者完成的基础上才可得以进行。
第一范式:解决数据在同一行内的冗余,要求所有的表不能重复的包含同样的数据列,所有的列中只能包含一个值,必须存在一个主键可以唯一指定一行数据,主键可以是一列或者多列,这取决于需要多少列才能唯一指


相关文档:

OracleDB,MySQL字符串操作函数INSTR,SUBSTRING_INDEX

题目:给定一个分割符,怎样得到给定字符串最后一个分割符后的字符串。 如:‘fsb-ibees-zxj-fsbk’ 怎样得到fsbk, 要求:java实现,sql实现?sql可以是oracle,mysql等实现。
 1.Oracle实现
SET SERVEROUTPUT ON;
DECLARE
str VARCHAR2(266):='123-890-ibees-zxj';--被解析的字符串
splitStr VARCH ......

mysql中int、bigint、smallint 和 tinyint的区别


使用整数数据的精确数字数据类型。
bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
int
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
smallin ......

MySQL实现树的遍历

经常在一个表中有父子关系的两个字段,比如empno与manager,这种结构中需要用到树的遍历。在Oracle 中可以使用connect by简单解决问题,参见http://blog.csdn.net/wzy0623/archive/2007/06/18/1656345.aspx,但MySQL 5.1中还不支持(据说已纳入to do中),要自己写过程或函数来实现。
一、建立测试表和数据:
DROP TABLE ......

MySQL表崩溃

如果在一些更新命令之后,mysqld总是当掉,或者如果你遇到被破坏的表,你可以用下面的操作测试看这个缺陷是否是可重复产生的:
卸掉MySQL守护进程(用mysqladmin shutdown)。
给该表做备份(防止修复操作反而搞坏这种很不可能出现的情况)。
用 myisamchk -s database/*.MYI 检查所有的表,用myisamchk -r database/ ......

使用mysql的replace函数替换字符串

最近在研究CMS,在数据转换的时候需要用到mysql的replace函数,这里简单介绍一下!
比如你要将 表 tb1里面的 f1字段的abc替换为def
UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');
REPLACE(str,from_str,to_str)   
在字符串   str   中所有出现的字符串   from_str&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号