Mysql基本知识整理
Posted 小火星_Hirsi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql基本知识整理相关的知识,希望对你有一定的参考价值。
一、简介
1.什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
2.关系型数据库简介
我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
- 数据以表格的形式出现
- 每行为各种记录名称
- 每列为记录名称所对应的数据域
- 许多的行和列组成一张表单
- 若干的表单组成database
RDBMS的一些术语:
- 数据库: 数据库是一些关联表的集合。.
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
-
表头(header)
: 每一列的名称; -
列(col)
: 具有相同数据类型的数据的集合; -
行(row)
: 每一行用来描述某个人/物的具体信息; -
值(value)
: 行的具体信息, 每个值必须与该列的数据类型相同; -
键(key)
: 表中用来识别某个特定的人物的方法, 键的值在当前列中具有唯一性。
3.MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- Mysql是开源的,所以你不需要支付额外的费用。
- Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL使用标准的SQL数据语言形式。
- Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、php、Eiffel、Ruby和Tcl等。
- Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。
- MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
- Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。
4.MySQL安装
关于mysql的安装请参考链接:http://www.runoob.com/mysql/mysql-install.html
二、MySQL登录
语法如下:
mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p 密码
例:mysql -u root -p
mysql> exit # 退出 使用 “quit;” 或 “\\q;” 一样的效果 mysql> status; # 显示当前mysql的version的各种信息 mysql> select version(); # 显示当前mysql的version信息 mysql> show global variables like \'port\'; # 查看MySQL端口号
注意:分号结束命令。
三、数据库的相关操作
1.显示数据库
SHOW DATABASES;
默认数据库:
mysql - 用户权限相关数据
test - 用于用户测试数据
information_schema - MySQL本身架构相关数据
2.创建数据库
# utf-8 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
例:
MySQL [(none)]> CREATE DATABASE JJ;
Query OK, 1 row affected (0.00 sec)
3.使用数据库
USE db_name;
4.显示当前使用的数据库中所有表
SHOW TABLES;
5.用户管理
创建用户 create user \'用户名\'@\'IP地址\' identified by \'密码\'; 删除用户 drop user \'用户名\'@\'IP地址\'; 修改用户 rename user \'用户名\'@\'IP地址\'; to \'新用户名\'@\'IP地址\';; 修改密码 set password for \'用户名\'@\'IP地址\' = Password(\'新密码\')
注:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
6.授权管理
show grants for \'用户\'@\'IP地址\'; -- 查看权限 grant 权限 on 数据库.表 to \'用户\'@\'IP地址\'; -- 授权 revoke 权限 on 数据库.表 from \'用户\'@\'IP地址\'; -- 取消权限
all privileges 除grant外的所有权限 select 仅查权限 select,insert 查和插入权限 ... usage 无访问权限 alter 使用alter table alter routine 使用alter procedure和drop procedure create 使用create table create routine 使用create procedure create temporary tables 使用create temporary tables create user 使用create user、drop user、rename user和revoke all privileges create view 使用create view delete 使用delete drop 使用drop table execute 使用call和存储过程 file 使用select into outfile 和 load data infile grant option 使用grant 和 revoke index 使用index insert 使用insert lock tables 使用lock table process 使用show full processlist select 使用select show databases 使用show databases show view 使用show view update 使用update reload 使用flush shutdown 使用mysqladmin shutdown(关闭MySQL) super以上是关于Mysql基本知识整理的主要内容,如果未能解决你的问题,请参考以下文章