
mySQL
babyduncan
这个作者很懒,什么都没留下…
展开
-
mysql自学笔记
现在我们就可以调用一个存储过程了,你所需要输入的全部就是CALL和你过程名以及一个括号再一次强调,括号是必须的当你调用例子里面的p1过程时,结果是屏幕返回了t表的内容 mysql> CALL p1() // +------+ | s1 | +------+ | 5 | +------+ 1 row in set (0.03 sec) Query O...原创 2011-01-06 17:16:17 · 117 阅读 · 0 评论 -
数据库的优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select...原创 2011-03-31 17:05:54 · 132 阅读 · 0 评论 -
DDL,DML,DCL,TCL四种语言的简介
1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or schema.DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit. CR...原创 2011-03-02 11:44:30 · 163 阅读 · 0 评论 -
使用union进行结果集合并的原则
1,union必须有两个或两个以上的select语句组合,每条select语句之间用union分隔。2,每个select语句中的select 到where之间内容必须相同,即他们必须包含相同的列,表达式或者聚集函数(次序到不会有严格要求)。3,列的数据类型必须兼容,即使不相同,也必须可以隐式转换。————————————————————————————————union之后会自...原创 2011-02-15 15:57:25 · 719 阅读 · 0 评论 -
mysql中join,left join,right join 的区别
先看例子:首先是join[code="sql"]select vend_name ,prod_price,prod_name from products join vendors on vendors.vend_id = products.vend_id;[/code]结果[code="sql"]+-----------------+------------+-----...原创 2011-02-15 15:33:48 · 154 阅读 · 0 评论 -
关于mysql 的字符串拼接问题
[size=medium]以前用Oracle的时候,字符串拼接用 | ,今天在mysql上试试发现不行,用 || 也不行,因为一般数据库对 || 的支持还是很不错的,经过查找mysql帮助手册,发现mysql中的字符串拼接使用的是concat函数,如[code="sql"]mysql> select concat(prod_name,prod_price) from product...原创 2011-02-15 11:50:33 · 257 阅读 · 0 评论 -
做数据库练习的时候可以用到的脚本(例子数据库)
首先是建立数据库的脚本[code="sql"]---------------------------------------------- Sams Teach Yourself SQL in 10 Minutes-- http://www.forta.com/books/0672325675/-- Example table creation scripts for MySQ...原创 2011-02-15 11:13:46 · 425 阅读 · 0 评论 -
mysql的错误代码121和150的意思
今天用mysql数据库的时候,出现了121和150的错误,经过百度,找出了错误的原因,特此记录:[size=large]error 121这是外关键字名字重复的错误,即使是在不同的表中,外关键字的名字也不能重复。error 150这类错误包括3种情况:1. 外键和被引用外键类型不一样,比如integer和double2. 找不到要被引用的列3. 表的字符编码...原创 2011-02-15 11:11:23 · 674 阅读 · 0 评论 -
数据库中的主键
一,什么是主键?唯一标示表中每行的这个列或这组列成为主键,主键用来表示这个特定的行。应该总是定义主键,这样标语数据库的管理和操作。二,表中任何列都可以定义为主键,只要它满足以下条件①,任意两行都不具有相同的主键值。②,每行必须有一个主键值,也就是说其值不能为NULL。③,主键列的值不能被修改和更新。④,主键值不能重用,即使该行已经被删除,其值也不能被赋予给新的行。三,多...原创 2011-02-15 09:41:39 · 1596 阅读 · 0 评论 -
关于mysql中时间的处理
这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回date的星...原创 2011-01-21 11:39:55 · 88 阅读 · 0 评论 -
关于mysql的大小写问题
mysql到底是区别大小写还是不区别呢,这取决于所使用的操作系统,如在windows下:[code="sql"]mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || cookbook ...原创 2011-01-21 10:11:36 · 129 阅读 · 0 评论 -
从linux登录和登出mysql
首先最常用的mysql登录命令行为:[code="sql"]babyduncan@ubuntu:~$ mysql -h localhost -p -u root[/code]如果不是登录远程的数据库的话,-h是可以省略的:[code="sql"]babyduncan@ubuntu:~$ mysql -p -u root[/code]、-u后面接用户名,-p是密码的意...原创 2011-01-21 09:41:42 · 144 阅读 · 0 评论 -
ubuntu下登陆mysql
[code="sql"]babyduncan@ubuntu:~$ mysql -h localhost -u root -p[/code]解释:mysql 是ubuntu下登陆mysql Server的命令,可以mysql --help查看其具体说明。-h 是hostname的意思,就是主机 所以后面试localhost-u是user的意思 后面加mysql的用...原创 2011-01-19 14:48:47 · 167 阅读 · 0 评论 -
mysql创建用户的方法
[code="java"]grant all on test.* to 'root' @ 'localhost' identified by 'root'[/code]关于这句话的解释:test.* 其中test就是database ,show databases 语句可以显示出所有的databases,即此命令作用在哪一个数据库上。第一个‘root’是用户名。‘loc...原创 2011-01-14 18:02:44 · 137 阅读 · 0 评论 -
第一.二.三范式的定义与用途
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式...原创 2011-04-08 10:33:07 · 137 阅读 · 0 评论