windows linux mac 安装会有不同
1.第一范式(确保每列保持原子性)
第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。
2.第二范式(确保表中的每列都和主键相关)
第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
3.第三范式(确保每列都和主键列直接相关,而不是间接相关)
第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
sql语言分类
DDL:数据定义语句 create drop alter DML:数据操纵语句 insert delete update select DCL:数据控制语句 grant revoke
DLL语句
create databases dbname; show database; use dbname; show tables; drop database dbname; drop dbname tabname; 创建表: create table tabname ( colunm_name type constraints,) drop table tabname 修改表 alter table modify coluname_name type alter table add column coluname_name type alter table tabname drop column col_name alter table tabname chage col col2 type alter table tabname rename new_tabname desc tabname;
DML 语句
insert into table(field1,field2)values(value1,value2); update tabname set field1=xxx where filed=xxx select * from tabname delete from tabname where field1=xxx distinct where order by limit group by with rollup--再汇总 having sum() max() min() join 左连接--包含左边的所有记录 有连接--包含右边的所有记录 子查询 in,not in,=,!=,exists,not exists union all 联合所有 union 联合去重
DCL 语句
分配权限 grant select,insert on dbname.* to 'z1'@'locahost' identified '123' 收回权限 revoke
帮助
?xx
mysql支持的类型
tinyint smallint mediumint int,integer bigint float double dec(m,d) decimal(m,d) bit(m) auto_increment
时间和日期
date 日期 datetime 1000----9999年 timestamp 到2038年的某一刻 time 时间 year 年
时区
查看 show variables like 'time_%'; 修改时区set time_zone='+9:00'
字符串类型
char 0-255 varchar 0-65535 tinyblob 255 blob 65535 mediublob 巨大 longblob 巨大 tinytext 255 text 65535 mediumtext 巨大 longtext巨大 varbinay 0-M binary 0-m
char和varchar
char固定长度 varchar变长
varbinay和binary
二进制字符串
enum 枚举型 最多运行65535个成员
set 类型 0-64个成员
算术运算符
+ - * / %
比较运算符
= <> != <=> < <= > > = between in is nul , is not null ,like,regexp,rlike
逻辑运算符
not 或! ,and 或&& ,or或|| ,xor异或
位运算符
& ! ^ ~ >> <<
运算符的优先级
:= || or xor && and not between,case,when else 比较运算符 | & <<,>> -,+ *,/,div,%,mod ^ - !
函数名字和功能笔记一致,我也就不再注释~~
字符串函数
concat insert lower upper left right lpad rpad ltrim rtrim repleat replace strcmp trim substring
数值函数
abs cell floor mod rand round truncate
日期函数
curdate curtime time unix_timestamp from_unixtime week year hour minute monthname date_format date_add datediff
流程函数
if(value,t,f)如果value真,返回t,否则返回f ifnull(v1,v2) 如果v1不为空返回v1否则返回v2 case when v1 then result1 else default end 如果v1真则result1 否则default case expr when v1 then re1 else default end 如果expr等于v1则re1 否则default
其他常用的函数
datebase()
version()
user()
inet_aton()
inet_ntoa()
password()
md5()
mysql administrator
mysql query brower
php admin
数据库范式参考博客
http://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html http://baike.baidu.com/link?url=1O1_PY90E_pmKqhoKaeqRfMo6c5N8xtn_R8bUkTyYFrCVmoPsQER2ZAS4CoFCKnbQpQQpmJibLYMSay4ryL14zCANxd9SFrJjsMNBIYkEU_VhWGDm_RLqxi5zR3ym4CKpZH7EtSqfIpSIKI7xr5OQK