深入浅出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
- 深入浅出MYSQL之基础篇
- 深入浅出mysql之基础篇
- MFC深入浅出之基础篇
- 深入浅出mysql-sql基础
- MySQL基础——《深入浅出MySQL》阅读
- MySQL(基础篇)之索引
- MySQL(基础篇)之视图
- MySQL(基础篇)之触发器
- Mysql基础篇之数据类型
- Mysql基础篇之索引
- Mysql基础篇之视图
- Mysql基础篇之触发器
- 深入浅出linux之内核基础层
- Oracle之深入浅出(一)--基础介绍
- git零基础深入浅出 之 [git初探]
- git零基础深入浅出 之 [git初探]
- 深入浅出DLL(基础篇)
- 深入浅出RxJava(一:基础篇)
- linux环境变量
- C實踐項目2.1—長方形的周長和面積
- Chrome开发者工具详解(3)-Timeline面板
- Class has no initializers: Swift Error
- Spring AOP
- 深入浅出mysql之基础篇
- 51nod 算法马拉松19 A P1674
- c++
- Java 多文件上传
- 关于获取后台数据值将其显示到radio或者select中的方法
- 公司内的电脑会出现突然上网非常慢的情况,此时应该考虑到是不是MAC地址冲突了
- OpenCV:remap()简单重映射
- Chrome开发者工具详解(4)-Profiles面板
- React-native 实现表情商城 表情长按拖动预览(还原安卓微信效果)