数据库(DataBase:DB):数据库是按照数据结果来组织、存储和管理数据的仓库。其实就是一堆可以存储数据的文件和数据管理。
数据库管理系统(Database Management System:DBMS):是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
我们一般说的数据库指的是DBMS。
1、常见的关系数据库:
Oracle:收费,运行稳定,可移植性高,功能齐全,性能超群,适用于大型企业领域。
DB2:速度快、可靠性好,适用于海量数据,恢复性极强,适用于大中型企业领域。
MySql:免费开源,体积小、速度快。适用于中小型企业领域。
2、SQL:结构化查询语言(Structured Query Language)简称SQL,是关系型数据库标准语言。
SQL包含6个部分:
1)数据查询语言(DQL:Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。
2)数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别用于添加、修改和删除。
3)事务控制语言(TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。
4)数据控制语言(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
5)数据定义语言(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。
6)指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
SQL语句执行顺序:from --> where --> group by --> having --> select --> order by.
1、MySql服务器安装和配置
5.7.x 安装参考文章:
mysql5.7.21 安装与使用
MySQL5.7.24安装配置(图文超详细教程)
配置注意:
1)MySql的存储引擎为 InnoDB
2)MySql和编码为UTF8
3)配置系统环境变量
2、MySQL服务端的启动、登陆和退出
1)启动MySql服务(可开机自启动)
Ctrl + R 使用WIN的 net start/stop命令可启动,MySql服务器:
启动服务输入:net start mysql
关闭服务输入:net stop mysql
2)登录:
cmd的dos命令端:mysql -h localhost -P 3306 -u root -p回车
-h:主机
-P:端口
-u:用户名
-p:密码(可以写,也可回车后再写(推荐),-p密码之间不能有空格,其他可有/无空格)
本机的话,可以简写:mysql -u root -p
3)退出 exit,ctrl+c,quit,\q 都可以,然后回车。
3、MySQL的语法规范
1)在MySql数据库中,SQL语句不区分大小写,但建议关键字大写
2)每条命令用“;”结尾。
3)一般关键字大写(关键字不能跨行或缩写),其他小写,空格和缩进是语句易读
4)注释:
单行注释:#文字文字
单行注释2: -- 文字文字 (主要 -- 后有空格)
多行注释: /* 文字文字 */
4、MySql数据库对象
数据库对象:存储、管理和使用数据的不同结构形式,如:触发器(Trigger)、表(Table)、视图(View)、存储过程(StoredProcedure)、索引(Index)、缺省值(Default)、图表(Diagram)、用户(User)、规则(Rule)事件等几类
数据库:存储数据库对象得容器。
MySql数据库分类:
1)系统数据库(系统自带的):不能修改
information_schema:存储数据库对象信息,如:用户表信息、列信息、权限、分区等信息。
performance_schema:存储数据库服务器性能参数信息。
mysql:存储数据库用户权限信息。
test:任何用户都可以使用的测试数据库。
2)用户数据库(用户自己创建的)
一般来说,一个项目创建一个数据库
1)显示当前数据库服务器中的数据库列表:
mysql> SHOW DATABASES;
2)创建数据库:
mysql> CREATE DATABASE 库名;
mysql> CREATE DATABASE if not exists 库名; #容错性的创建数据库
3)删除数据库:
mysql> DROP DATABASE 库名;
mysql> DROP DATABASE if not exists 库名; #容错性的删除数据库
4)使用某个数据库
mysql> USE 数据库名称;
5)查看数据库中的表格
mysql> SHOW TABLES;
6)查看表结构
mysql> DESC 表名;
7)查看非所在库的表信息,用from关键字指定目标库。
mysql> show tables from 数据库名;
8)查看目前在那个库里。
mysql> select database();
9)查看数据库字符集编码
mysql> show variables like '%char%';
10)查看mysql的版本信息。
在Sql中用 select version(); 查看mysql的版本信息。
在Dos中用 mysql --version 也是查看mysql版本信息。
在Dos中用 \s 也是查看mysql数据库详细信息。
11)查看创建数据库时的信息
mysql> show create database 数据库名;
12)查看创建表时的信息(建表语句)
mysql> show create table 表名;
13)查看当前登录用户
mysql> select user();
14)修改数据库的字符集
mysql> alter database 数据库名 character set 字符集(如gbk);
mysql手册参考网站:
https://zixuephp.net/manual-mysql-1320.html
ends~