Mysql 5.5从零开始学阅读笔记
第一章
1.什么是数据库?
数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。
2.表
行被称为记录,列被称为字段
3.主键
primary key,用于唯一标识表中的每一条记录,主键列上不能有两行相同的值
4.数据库系统
数据库系统有3个主要的组成部分
数据库:用户存储数据的地方
数据库管理系统:用于管理数据库的软件
数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。
一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。
5.Sql语言
Structured Query Languate,结构化查询语言
数据库定义语言(DDL):drop,create,alter
数据库操作语言(DML):insert,update,delete
数据库查询语言(DQL):select
数据库控制语言(DCL):grant,revoke,commit,rollback
6.数据库访问技术
ODBC(开放数据库互连)为访问不同的数据库通过了一个共同的接口
JDBC(java数据库连接)用于java应用程序连接数据库的标准方法
7.什么是Mysql
Mysql是一个小型关系数据库管理系统,与其他大型数据u管理系统例如Oracle,DB2,SQL Server等相比,
Mysql规模小,功能有限,但是它体积小,速度快,成本低,且它提供的功能对稍微复杂的应用来说已经
足够,这些特性是的Mysql称为世界上最受欢迎的开放源代码数据库
8.Mysql版本
Mysql Community Server(社区版):完全免费,但官方不提供技术支持
Mysql Enterprise Server(企业版服务器):需付费,官方提供电话技术支持
9.Mysql的优势
速度快
Mysql对多数个人用来说是免费的
容易使用,复杂程度较低,易于学习
可以运行在众多不同的系统平台上,如windows,linux,unix,mac os等
丰富的接口,提供了用于C,C++,Java,PHP,Python,Ruby等语言的API
10.如何学习Mysql
兴趣
夯(hang)实基础
学习新知识
多实践
11.Mysql常用图形管理工具
Mysql Workbench,phpmyadmin,Navicat,MysqlDumper,SQLyog,Mysql ODBC Connector。
其中phpmyadmin,Navicat提供中文操作界面。
12.专家点拨
计算机技术具有很强的操作性,虽然安装和配置非常简单,但是在操作过程也可能出现问题,所以需要
多实践、多总结。
-----------------------------------------------------------------------------------------------------------------
第三章
1.数据库的基本操作
show databases;查看当前所有存在的数据库
create database database_name;创建数据库
show create database database_name;查看数据库的定义
show create database database_name\G;查看数据库的定义(带参数结果更美观)
use database_name;选择数据库
drop database database_name;删除数据库
2.数据库存储引擎
在Mysql中,不需要在整个服务器中使用同一种存储引擎,针对具体要求,可以对每一个表使用不同的
存储引擎,Mysql5.5支持的存储引擎有:innodb,myisam,memory,merge,archive,federated,csv,blackhole等
show engines \G;查看系统所支持的引擎类型
support列的值表示某种引擎是否能用:yes表示可以使用,no表示不能使用,default表示该引擎为当前默认存储引擎
show variables like 'storage_engine';查看默认存储引擎
Mysql不同版本中的默认存储引擎不同,Mysql允许修改默认存储引擎,方法是修改配置文件
InnoDB给Mysql提供了具有提交,回滚和奔溃恢复能力的事物安全(ACID兼容)存储引擎
InnoDB上为处理巨大数据量的最大性能设计。它的CPU效率可能上任何基于磁盘的关系数据库引擎所不能匹配的。
InnoDB存储引擎完全与Mysql服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB将它的表和索引在一个逻辑表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与
Myisam表不同,比如在Myisam表中每个表被存在分离的文件中。InnoDB表可以上任何尺寸,即使中文件尺寸被限制为2GB的操作系统上。
InnoDB支持外键完整性约束(foreign key)。存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显示在表定义式指定主键,InnoDB会为每一行生成一个6字节的rowid,并以此作为主键。
MyISAM存储引擎基于ISAM存储引擎,并对其进行扩展。MyISAM拥有较高的插入,查询速度,但不支持事物。
3.建表
创建的表名不区分大小写,不能用sql语言中的关键字或单独数字作为表名
use database_name;养成好习惯,每次查询或修改前,执行该命令,避免窗口切换错误
4.修改表和字段
alter table <旧表名> rename [to] <新表名>;修改表名(TO可要可不要)
alter table <表名> modify <字段名> <数据类型>;修改字段的数据类型
alter table <表名>change <旧字段名><新字段名><新数据类型>;修改字段名
alter table <表名>add column<新字段名><数据类型>[约束条件][first|after 已存在字段名];添加字段
alter table<表名>modify<字段1><数据类型>first|after<字段2>;修改字段的排列位置
alter table<表名>drop<字段名>;删除字段
alter table<表名>engine=<更改后的存储引擎>;更改表的存储引擎
alter table<表名>drop foreign key<外键约束名>;删除表的外键约束(“外键约束名”指在定义表时constraint关键字后面的参数)
drop table [if exists] 表1,表2...表n;删除没有被关联的表(为了防止报错,最好加上if exists)
5.基本操作
mysql -h ip -u user -p password;登陆数据库
desc table_name;查看表的表结构
6.Mysql如何使用特殊字符
使用\ ,反斜线
-------------------------------------------------------
第六章
1.Mysql函数
函数表示对输入参数返回一个具有特定关系的值
ABS(X);返回X的绝对值
PI();返回圆周率值
SQRT(X);返回非负数x的二次方根
CEIL(X),CEILING(X),FLOOR(X);获取整数
RAND(),RAND(X);获取随机数
ROUND(X),ROUND(X,Y),TRUNCATE(X,Y);四舍五入函数
SING(X);返回参数的符号,X的值为负、零或正时返回结果依次为-1、0、1
CHAR_LENGTH(STR);返回值为str所包含的字符个数
CONCAT(S1,S2,...);合并字符串函数
CONCAT_WS('分隔符',S1,S2,...);连接带分隔符的字符串
LOWER(str),LCASE(str);将字符串str中的字母字符全部转换成小写
UPPER(str),UCASE(str);将字符串str中的字母字符全部转换成大写
LEFT(s,n),RIGHT(s,n);获取指定长度的字符串的函数