第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中常用的存储引擎