MySQL知识整理(一)
MySQL基础知识
-
数据库相关概念
- DB:database,即是数据库,里面存储了有组织的规范数据。
- DBMS:database management system,即是数据库管理系统,简称数据库软件、数据库产品,数据库是通过DBMS创建和操作的容器。
- SQL:即是结构化查询语言(Structure Query Languange),专门用来与数据库的通信语言。不同数据库之间会有些细微的差别,如MySQL和Oracle的分页。
- 常见的数据库:MySQL、Oracle、DB2、SqlServer等。
- SQL的特点:简单易学,但是可以进行非常复杂和高级的数据库操作。几乎所有DBMS都支持。
-
数据库的特点
- 将数据放到表格中(二维表格),再将表格放到库中。
- 一个数据库可以有多张表,每张表都有一个名字用来标识自己,表名必须唯一。
- 表具有一些特性,这些特性规定了数据在表中的存储格式、形式,类似Java中类的设计,通常Java类和数据表都是一一对应的。
- 表由行和列构成,列叫做字段,行叫做记录,例如:学生表(ID、姓名、学号、性别),ID这一列就是ID字段,而一行数据如(1,刘翔,2011000,男)就是一行记录。
- 表中数据是按照行来存储的,这里表有那些字段,就是表的结构对应java中一个Class类有那些属性;表里具体的每一行数据,对应java中new出类的实例。
-
MySQL介绍、安装和卸载
一、MySQL介绍
- MySQL数据库原是瑞典的公司叫MySQLAB公司,后被Oracle收购。
- 优点:成本低(开放源代码,一般可以免费试用)、性能高(执行快)、简单(容易安装和使用)
- DBMS分类:1)基于共享文件的系统的DBMS,如Access。 2)基于客户机----服务器架构的DBMS,如MySQL、Oracle、Sqlserver
二、MySQL安装
- 安装MySQL一般说的是安装服务端。MySQL提供两个版本,社区版(免费)、企业版(收费)。
-
下载:
-目前可以下载的版本:5.5,5.6,5.7,8.0(测试)https://dev.mysql.com/downloads/mysql/
http://mirrors.sohu.com/mysql/MySQL-5.5/mysql ZIP Archive: 压缩版本,需要自己配置mysql MSI Installer:安装版本,安装过程中自动配置 - 安装过程就是点击下一步,注意不要忘记安装过程中设置的用户名和密码。
三、MySQL卸载
- 卸载程序
- 安装目录残余删除
- C盘下的隐藏文件夹ProgramData下的mysql残余删除,才算真正基本卸载干净。必要时可以删除注册文件(一般不需要)。
- 如果卸载不干净会影响下一次安装。
-
MySQL的启动
一、MySQL启动
- 任务管理器或者计算机-->管理--->服务,找MySQL服务并启动。
- 以管理员方式运行CMD,输入net start mysql(mysql指的是mysql服务器实例名,如果安装的时候没改默认是mysql,如果改了就替换成自己改的实例名)。
二、MySQL停止
- 任务管理器或者计算机-->管理--->服务,找MySQL服务并停止。
- 以管理员方式运行CMD,输入net stop mysql
-
MySQL服务端的登录、退出
一、登录
- MySQL自带客户端登陆
- 以管理员方式运行CMD,mysql -P -h -u -p
-P代表端口号,如果安装过程中没有改动,MySQL默认是3306
-h代表主机,本机可以不写,也可写localhost或127.0.0.1
-u代码用户名,即是安装过程中设置的用户名
-p(小写)代表的是用户密码。可以写,也可以回车后再写
本机可以简写为:mysql -u root -p
二、退出
- MySQL自带客户端,exit和Ctrl+C
- 以管理员方式运行CMD,
mysql > exit;
mysql > quit;
mysql > \q;
-
MySQL常用命令
show databases; 查看数据库系统里有那些数据库。 use 数据库名; 打开一个数据库。 show tables; 查看刚刚打开的数据库里有些什么表; select database(); 查看目前在那个库里。 select version(); 查看数据库版本 在Dos当中mysql --version 也是查看mysql版本信息。
-
MySQL语法规范
- mysql的命令不区分大小写,但建议关键字大写,表名、列名小写;
- 每条命令用“;”结尾。
- 每条命令根据需要,可以进行缩进和换行,建议关键字在一行。
-
注释:单行注释:#文字文字单行注释2: -- 文字文字 (主要 -- 后有空格)多行注释: /* 文字文字 */