第1篇:MySQL的一些基础知识
主要内容
1、MySQL的基本使用;
2、MySQL的性能优化;
3、案例介绍;
数据库常见概念
数据库(Database)
什么是数据库?
这是一个非常容易混淆的知识点。数据库指保存有组织的数据的容器,通常是一个文件或一组文件
我们通常说的数据库是指的数据库管理软件,而并非数据库本身。在使用中只需要知道我们所操作的是数据库软件,是由数据库软件代替我们对数据库进行访问的。
数据库管理软件(DBMS)
概念:数据库是通过DBMS创建和操纵的容器,我们日常是通过DBMS来访问数据库的
常见的数据库管理软件:
* Oracle:oracle公司 大型的关系型数据库 收费的
* DB2:IBM公司 大型的关系型数据库 收费的
* Mysql:mysql公司 中小型关系型数据库 免费的。后来被oracle收购,mysql6之后收费
* Sql Server:微软公司 中小型关系型数据库 收费的
* Sqllite:安卓系统内置数据库 微型关系型数据库 免费的
* NoSql系列数据库:not only sql 非关系型数据库
结构化查询语言(SQL)
结构化查询语⾔,⽤于和数据库通信的语⾔,不是某个数据库软件持有的,⽽是⼏
乎所有的主流数据库软件通⽤的语⾔。中国⼈之间交流需要说汉语,和美国⼈之间交流需
要说英语,和数据库沟通需要说SQL语⾔。
数据库存储数据的一些特点
数据存放在表中,表存储在数据库中
一个库中可以有多张表,每张表具有唯一的名称(表名)来标识自身
表中的列称为“字段”,相当于java中的“属性”
表中的每一行数据,相当于java中的“对象”
MySQL常用命令介绍
这里介绍的不是SQL语句,介绍的是常用的数据库操作语句,而不是数据操作语句
MySQL启动的方式
方式1:
cmd中运行sercices.msc,在服务管理窗口可以启动或者停止mysql服务
方式2:
在cmd窗口输入
停止命令:net stop mysql
启动命令:net start mysql
会返回MySQL服务停止/启动的信息
mysql登陆方式
mysql -h ip -P port -u username -p
-h 后面跟的是主机地址,若是本地服务可省略
-P 后面跟的是端口号(注意P是大写的)本地服务可省略
-u 后面跟的是用户名
-p 若想要显式密码,直接就在后面键入密码,若想要隐式输入,直接回车,后面会弹出让你键入密码的界面,此界面的密码是隐式的
查看数据库版本
mysql --version 或者mysql -V⽤于在未登录情况下,查看本机mysql版本
select version();:登录情况下,查看链接的库版本
操作数据库
* create database 数据库名称; -- 创建新的数据库
* drop database 数据库名称; --删除数据库
* ALTER DATABASE mydb1 CHARACTER SET 要修改的字符集名称 -- 修改数据库
* 查询:show databases; -- 查询所有数据库的名称
* show create database 数据库名称; -- 查询创建数据库语句
* USE 库名; -- 进入指定的数据库
* SHOW tables; -- 展示该数据库中所有的表
* SHOW tables FROM 库名; -- 查看其他库中所有的表
* SHOW CREATE table 表名; -- 查看表的创建语句
* DESC 表名; -- 查看表结构
* select database(); -- 查看当前所在库
* SHOW ENGINES; -- 查看当前MySQL⽀持的存储引擎
SHOW VARIABLES; -- 查看系统变量及其值
SHOW VARIABLES like '变量名'; -- 查看某个系统变量
MySQL语法规范
1、不区分大小写,但是建议关键字大写,表名、字段名小写
2、每条语句要用英文;结尾
3、每条命令根据需要要进行缩进和换行
4、注释
– 单⾏注释:#注释⽂字
– 单⾏注释:-- 注释⽂字 ,注意, 这⾥需要加空格
– 多⾏注释:/* 注释⽂字 */
SQL语言分类
• DQL(Data Query Language):数据查询语⾔ select 相关语句
• DML(Data Manipulate Language):数据操作语⾔ insert 、update、delete 语句
• DDL(Data De>ine Languge):数据定义语⾔ create、drop、alter 语句
• TCL(Transaction Control Language):事务控制语⾔ set autocommit=0、start
transaction、savepoint、commit、rollback
MySQL中常用的存储引擎
https://learnku.com/articles/4198/mysql-common-data-storage-engine
https://zhuanlan.zhihu.com/p/50564425
注意,同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。