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