项目实训第二周2

数据库基础知识之mysql学习

什么是数据库#

严格来讲数据库是一个存放数据的容器(仓库),可以是文件或是内存空间等。当我们需要访问数据库中数据时,我们需要使用到数据库管理系统(DBMS)。我们平时说的数据库是指:数据库管理系统(DBMS)+数据库(DB)

数据库概念的正规定义:对大量数据进行管理的高效的解决方案。

常见的数据库有:

  • Mysql
  • SQLServer
  • Oracle
  • PGSQL
  • DB2(IBM)

什么是数据库管理系统#

数据库管理系统(DBMS)是指访问操作数据库的软件。

关系型数据库和非关系型数据库#

关系型数据(RDBS,RELATIONAL DBS)是建立在关系模型上的数据库系统。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据库系统 ,结构和实体关系。

非关系型数据库(NoSQL): redis面向键值对, MongoDB面向文档,HBase面向列存储,NEO4J图形数据库。

MySQL的体系架构#

MySQL采用C/S架构。启动MySQL服务可以采用mysqld命令

# 启动mysql服务
mysqld start  
mysqld stop
# 链接服务器
mysql -hlocalhost -P3306 -uroot -p 
# 退出mysql服务
quit  

上面的mysqld是启动MySQL服务的命令,MySQL还提供了很多其他的工具命令。

MySQL服务器端实用工具程序如下
● mysqld:SQL后台程序(即MySQL服务器进程)。该程序必须运行之后,客户端才能通过连接服务器来访问数据库。
● mysqld_safe:服务器启动脚本。在UNIX和NewWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全性,例如,当出现错误时,重启服务器并向错误日志文件中写入运行时间信息。
● mysql.server:服务器启动脚本。该脚本用于使用包含为特定级别的、运行启动服务器脚本的、运行目录的系统。它调用mysqld_safe来启动MySQL服务器。
● mysqld_multi:服务器启动脚本,可以启动或停止系统上安装的多个服务器。
● mysamchk:用来描述、检查、优化和维护MyISAM表的实用工具。
● mysql.server:服务器启动脚本。在UNIX中的MySQL分发版包括mysql.server脚本。
● mysqlbug:MySQL缺陷报告脚本。它可以用来向MySQL邮件系统发送缺陷报告。
● mysql_install_db:该脚本用默认权限创建MySQL授予权表。通常只是在系统上首次安装MySQL时执行一次。

MySQL客户端实用工具程序如下
● myisampack:压缩MyISAM表以产生更小的只读表的一个工具。
● mysql:交互式输入SQL语句或从文件经批处理模式执行它们的命令行工具。
● mysqlacceess:检查访问主机名、用户名和数据库组合的权限的脚本。
● mysqladmin:执行管理操作的客户程序,例如创建或删除数据库、重载授权表、将表刷新到硬盘上以及重新打开日志文件。Mysqladmin还可以用来检索版本、进程以及服务器的状态信息。
● mysqlbinlog:从二进制日志读取语句的工具。在二进制日志文件中包含执行过的语句,可用来帮助系统从崩溃中恢复。
● mysqlcheck:检查、修复、分析以及优化表的表维护客户程序。
● mysqldump:将MySQL数据库转储到一个文件(例如SQL语句或Tab分隔符文本文件)的客户程序。
● mysqlhotcopy:当服务器在运行时,快速备份MyISAM或ISAM表的工具。
● mysql import:使用LOAD DATA INFILE将文本文件导入相应的客户程序。
● mysqlshow:显示数据库、表、列以及索引相关信息的客户程序。
● perror:显示系统或MySQL错误代码含义的工具。

SQL语言简介#

有了数据库之后,我们需要一个语言来和数据进行交互。SQL(结构化查询语言)就是专门用来和数据库交互的的一种语言。

SQL有许多不同的类型,有3个主要的标准:ANSI(美国国家标准机构)SQL;对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2;最近的SQL-99标准,从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供不同版本的SQL(比如PLSQL),这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持SQL-92标准。

SQL语言大致可以分为以下几类类:

  • 数据操作语言(DML,Data Manipulation Language )(DQL+DML):由select、insert、update和delete关键字完成,用来对数据库表内容的增删改查操作;
  • 结构操作语言(数据定义语言,DDL,Data Definition Language ):create、drop、truncate和alter完成,用来对数据库和数据库对象的增删改操作(drop会同时删除表结构和表数据,truncate会只是删除数据不删除表结构,其原理是先drop然后再创建表结构);
  • 数据库管理语言(数据库控制语言,DCL,DataBase Control Language):grant、revoke完成;
  • 事物控制语言:主要有commit、rollback、savepoint完成。

有上面的介绍可知,大多数与数据库的操作可以总结为对数据库对象(数据库、表、视图、存储过程等)的增删改查操作,所以下面会从各个数据库对象的增删改查来介绍。在MySQL中主要的数据库对象有:

MySQL基础知识#

在讲 MySQL 中数据表的增删改查之前,我们先需要创建表。创建表的过程中需要制定表字段的类型,字段的约束以及表的存储引擎等。所以非常有必要先介绍些MySQL的基础语法知识。

字符集和校验规则#

字符集:字符的集合,常见的字符集有ASCLL、GBK和Unicode等;
校验规则:当前字符集内,字符之间大小的比较规则。

数据类型#

MySQL中三大数据类型是:数值、日期和字符串。

数值型#

1. 数值类型

类型 字节 最小值 最大值
TYNYINT 1 -128/0 127/255
SMALLINT 2 -32768/0 32767/65535
MEDIUMINT 3 -8388608/0 8388607/16777215
INT 4 -2147483648/0 2147483647/4294967295
BIGINT 8 很大... 很大...
INT(M) UNSIGNED ZEROFILL 

可以这样定义数值类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值