【MySQL】基础学习——数据库基本操作
MySQL是一种关系型数据库,sun公司产品,现在属于甲骨文,是目前主流的数据库管理系统之一。目前主流的数据库还有:SQL Server, Oracle, DB2。
概念:
- 数据(data):描述事物的符号记录称为数据。
- 数据库(DataBase, DB):数据库是长期存储在计算机内,有组织的、可共享的大量数据的集合。
数据库管理系统(DBMS):管理数据库的系统软件。
数据库管理系统是一个软件,通过这个软件可以管理多个数据库;数据库对应一个文件,一般开发人员针对一个应用创建一个数据库;一个数据库中一般会创建多个表格,数据存储在表格之中。开发人员可以通过控制台打开MySQL使用,可以在Java语言或其他语言的代码中使用数据库,其关系如图所示:
为什么要用数据库来存储数据,用文件不好吗?
用文件存储:- 文件的安全性问题
- 文件不利用查询和对数据的管理
- 文件不利于存储海量数据
- 文件在程序中控制不方便
mysql的基本使用
MySQL的命令都是需要以分号结尾的。
1.mysql的启动
service mysqld start
2.mysql的关闭
service mysqld stop
3.连接到mysql
mysql [-h 主机] -u 用户 -p ;
例如:
4.创建库的基本语句
create database 数据库名;
5.使用库
use 库名;
6.数据存储在表中,表的一行称为一条记录。
建表的基本语法:
create table 表名(
字段1 列类型,
name varchar(20)
);
向表中插入数据:insert into 表名 values(values1, values2);
查看表中的数据:select *from 表名;
7.SQL分类
- DDL数据定义语言,用于维护存储数据的结构,代表指令:create, drop, alter
- DML数据操纵语言,用于对数据操作,代表指令:insert, delete, update
- DML中单独分出一个DQL,数据查询语言如 select
- DCL数据控制语言,负责权限管理和事务,代表指令:grant, revoke, commit
8.我们可以通过配置环境变量,在Windows的命令行窗口中使用MySQL:右击此电脑,点开属性,在高级系统设置中,点开环境变量,在Path中添加环境变量,将MySQL的安装路径输入,最后再点击确定,就OK了。如下图所示:
通过上面的学习,我们对数据库有了初步的认识,知道了数据是怎样存储的,下面我们将详细的说明。
数据库的操作
1.创建数据库
语法:create database [if not exists] db_name [CHARACTER SET [, COLLATE] ...]
例如:创建一个使用utf8字符集,校验规则为utf8_bin的数据库:
说明:
- 一般建议将关键字大写,与数据库名区分,但是不做强制要求。
- []是可选项
- CHARACTER SET:指定数据库采用的字符集。
- COLLATE:指定数据库字符集的比较方式(默认为utf8_general_ci)
- 可以通过命令查看系统默认的字符集及校验规则:
- 创建一个已存在的数据库,若没有添加if not exists,会报错;若添加了,则仅出现一个警告,并不会报错。这在编程中是非常重要的。
2.字符集和校验规则
字符集:控制用什么语言,比如utf8就可以支持中文。
查看数据库支持的字符集命令:show charset;
校验规则的作用:
- 区分大小写
校验规则使用utf8_general_ci(不区分大小写)
校验规则使用utf8_bin(区分大小写) - 影响排序
校验规则使用utf8_general_ci(按字母顺序排)
校验规则使用utf8_bin(按ASCII顺序排)
3.操纵数据库
- 查看数据库
show databases;
- 显示数据库创建语句
show create database 数据库名;
- 查看当前MySQL数据库的连接情况 show processlist; 可以查到如果某个用户不是正常登录,说明数据库很可能被入侵了。
- 备份与恢复数据库:
基本语法:mysqldump -u root -p 数据库名 > 存放路径
(在OS命令行下输入)
例如:将数据库class备份到桌面上;
要恢复数据库,首先要创建一个空的数据库,最好和以前的名字一致。
基本语法:source 存放路径;
(在mysql控制台)
例如:将备份的class恢复;
备份注意事项:
1. 如果备份的不是整个数据库而是一张表?
语法:`mysqldump -u root -p 数据库名 表名1 表名2... > 路径`
![这里写图片描述][70 12]
恢复:source 备份的文件的路径;
![这里写图片描述][70 13]
2. 如果要备份多个数据库?
备份:`mysqldump -u root -p -B 数据库名1 数据库名2... > 路径`
![这里写图片描述][70 14]
恢复:source 存放路径;
![这里写图片描述][70 15]
加入-B选项,在恢复时就不需要先创建一个空库了,在备份一个数据库时,也可以这样使用。
4.修改库
- 更改字符集:
alter database class charset=gbk;
- 更改校验规则:
alter database class collate utf8_bin;
5.删除库
语法:drop [if exists] database 数据库名;
当执行这条语句后,对应的数据库文件夹被删除,级联删除,即:数据库中的所有数据表全被删除。
还没有评论,来说两句吧...