第一章

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);获取指定长度的字符串的函数

Mysql 5.5从零开始学阅读笔记的更多相关文章

  1. 【MySQL函数】MySQL 5.5从零开始学第六章

    说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值 ...

  2. (45). Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】

    大家在开发的时候,会喜欢jdbcTemplate操作数据库,有喜欢JPA操作数据库的,有喜欢MyBatis操作数据库的,对于这些我个人觉得哪个使用顺手就使用哪个就好了,并没有一定要使用哪个,个人在实际 ...

  3. 【MySQL】filesort.cc 源代码阅读笔记

    最近阅读了部分MySQL排序的代码,把心得记录一下. 参考代码 MySQL: 文件: filesort.cc 函数: filesort() 排序过程伪代码 function filesort(tabl ...

  4. 从零开始学Electron笔记(四)

    在之前的文章我们介绍了一下Electron的这个remote模块,接下来我们继续说一下Electron的右键菜单的制作. 在我们日常我们使用的软件中都会存在右键菜单的情况,比如我们用到的浏览器,开发所 ...

  5. 《Python 3.5从零开始学》笔记-第8章 面向对象编程

    前几章包括开启python之旅.列表和元组.字符串.字典.条件和循环等语句.函数等基本操作.主要对后面几章比较深入的内容记录笔记. 第8章 面向对象编程 8.3深入类 #!/usr/local/bin ...

  6. 《MySQL性能优化篇》阅读笔记

    建表的时候,不要用null赋默认值,如:字符串的设置'',数据类型的设为0,不要将null设为默认值. 在MySQL中没有 full [outer] join,用union代替 各种 JOIN SQL ...

  7. 从零开始学Electron笔记(一)

    前端技术在最近几年迅猛发展,在任何开发领域我们都能看到前端的身影,从PC端到手机端,从APP到小程序,似乎前端已经无所不能,这就要求我们需要不断地去学习来提升自己!前段时间尤大通过直播介绍了一下Vue ...

  8. 进入mysql的学习>从零开始学JAVA系列

    目录 MySQL的学习 什么是MYSQL 安装MYSQL Window安装MYSQL(压缩包版) 什么是MYSQL 安装MYSQL Window安装MYSQL(压缩包版) MYSQL基本指令 DDL ...

  9. 从零开始学Electron笔记(二)

    在之前的文章我们简单介绍了一下Electron可以用WEB语言开发桌面级应用,接下来我们继续说一下Electron的菜单创建和事件绑定. 我们接上一章的代码继续编写,上一章代码 https://www ...

随机推荐

  1. Inno Setup新建项目

    一.准备一个例子工程WEI 运行起来是这样的 二.开始新建 使用Inno Setup Compiler或Inno Script Studio新建都可以,我这里先用Inno Setup Compiler ...

  2. [CQOI2006]凸多边形(半平面相交)

    嘟嘟嘟 本来我要写feng shui这道题的.然后网上都说什么半平面相交,于是我还得现学这个东西,就来刷这道模板题了. 所谓的半平面相交和高中数学的分数规划特别像.比如这道题,把每一条边看成一条有向直 ...

  3. 关于tomcat无法启动问题详解

    通常情况tomcat无法启动,有这么几个原因?(1)代码有问题; (2)tomcat有问题; (3)端口被占; (4)动态web项目为3.0: (5)java环境运行内存不足; 这是比较常见的问题.解 ...

  4. Redis入门(一)---安装

    一.Ubuntu安装 1.命令行安装 sudo apt-get install redis-server 2.启动redis服务(安装完成后自动启动) sudo /etc/init.d/redis-s ...

  5. Vue学习—组件的学习

    1.什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能 ...

  6. oracle自动冷备份脚本

    根据自己网上的资料和自己的需求,写的oracle冷备份脚本. 整体思路: 1.停止服务 2.文件拷贝 3.启动服务 保存以为文件为BAT格式,点击可以用下. rem ----------------- ...

  7. iOS之UIButton扩大按钮的响应区域

    在开发中有时会遇见设计图里按钮设计的特别小,这时会用到手动扩大UIButton的响应范围,下面有两个解决办法: 第一种方法:创建一个类目:UIButton+EnlargeTouchArea .h文件 ...

  8. Java面试题整理2

    多线程部分 并行和并发的区别? 并行指两个或多个事件同一时刻发生:并发指两个或多个事件同一时间间隔发生. 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件. 线程和进程的区别? 进程是程序运 ...

  9. CentOS7.6离线安装Redis5.0.4

    安装gcc-c++: 检查是否存在gcc-c++:rpm -qa|grep gcc-c++ 如果不存在就下载Linux-GC-C++文件: 访问镜像网站:http://mirrors.aliyun.c ...

  10. iframe 框架 父页面与子界面之间的变量、函数、元素获取

    1.获取页面上的iframe 1-1. document.getElementById('iframeId'): 1-2. window.frames[0].window.frames['frameN ...