深入浅出mysql之基础篇

来源:互联网 发布:linux查看外网地址 编辑:程序博客网 时间:2024/06/03 17:02

深入浅出mysql之基础篇

mysql的安装

windows linux mac 安装会有不同

数据库的三大范式

1.第一范式(确保每列保持原子性)

第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。

2.第二范式(确保表中的每列都和主键相关)

第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

3.第三范式(确保每列都和主键列直接相关,而不是间接相关)

第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

sql的基础

sql语言分类

DDL:数据定义语句 create drop alterDML:数据操纵语句 insert delete update selectDCL:数据控制语句 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 typealter table tabname  rename new_tabnamedesc 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支持的数据类型

mysql支持的类型

tinyint smallintmediumintint,integerbigintfloatdoubledec(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个成员

mysql中的运算符

算术运算符

+ - * / %

比较运算符

= <> !=  <=> <  <= > > =between in is nul , is not null ,like,regexp,rlike

逻辑运算符

not 或! ,and 或&& ,or或|| ,xor异或

位运算符

& ! ^ ~ >> <<

运算符的优先级

:=|| or xor&& andnot between,case,when else比较运算符|&<<,>>-,+*,/,div,%,mod^-!

常用的函数

函数名字和功能笔记一致,我也就不再注释~~

字符串函数

concatinsertlowerupperleftrightlpadrpadltrimrtrimrepleatreplacestrcmptrimsubstring

数值函数

abscellfloormodrandroundtruncate

日期函数

curdatecurtimetimeunix_timestampfrom_unixtimeweekyearhourminutemonthnamedate_formatdate_adddatediff

流程函数

if(value,t,f)如果value真,返回t,否则返回fifnull(v1,v2) 如果v1不为空返回v1否则返回v2case when v1 then result1 else default end 如果v1真则result1 否则defaultcase 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.htmlhttp://baike.baidu.com/link?url=1O1_PY90E_pmKqhoKaeqRfMo6c5N8xtn_R8bUkTyYFrCVmoPsQER2ZAS4CoFCKnbQpQQpmJibLYMSay4ryL14zCANxd9SFrJjsMNBIYkEU_VhWGDm_RLqxi5zR3ym4CKpZH7EtSqfIpSIKI7xr5OQK
0 0
原创粉丝点击