MySQL 介绍与基本使用

介绍

使用文件系统存储数据并不是很好的选择:
1. 对数据的管理不方便
任何一个数据的修改,都要保存全部的数据
2. 数量大了以后,读写速度很慢

在企业中使用数据库软件来管理需要存储的数据
数据库:用来组织、存储和管理数据的仓库软件。

常见的数据库软件:MySQL、Oracle 和 SQLServer 等

Oracle(甲骨文):主打产品是数据库,收购了:Java 和 MySQL

MySQL:开源免费,中小企业广泛使用
Oracle:收费的,大中型企业广泛使用

MySQL 是一款关系型数据库管理系统(Relational Database Management System,RDBMS)
关系型:以关系模型组织数据(二维表格形式,excel)

最新版本是 8.0,企业中用的更多的是 5.7

5.7 下载地址:https://dev.mysql.com/downloads/file/?id=478884
	下载的压缩包(免安装版本,绿色版本)解压配置后即可使用

基本操作


			
mysql 		== 		硬盘
database 	== 		文件夹
table       ==      excel	

先创建 database 在创建 table 最后向 table 中添加数据

table 由行(row)和列(column)组成
	一行对应一条完成的数据,也叫做记录
	一列对应一个属性,也叫做字段,每个属性都有名字和类型
	
	作为一行记录的唯一标识的列,称为主键(primay key)
	
	为了提高查询的效率,会创建一种类似书籍目录的结构,叫做索引(index)
	
SQL(结构化查询语言)是操纵关系型数据库的通用计算机语言
各个数据库都对 SQL 做出了扩展,增加了自己独有的语法,这部分内容是不通用的
	
CREATE,ALTER,DROP
	创建,修改,删除 database 和 table
	
SELECT,INSERT,UPDATE,DELETE
	查询,添加,修改,删除 table 中的数据
	
每条 SQL 语句都以 ; 结尾
windows 版本的 MySQL 不区分大小写,良好的习惯是关键字都大写

列出 MySQL 中的所有 database
	SHOW DATABASES;
	
创建 database
	CREATE DATABASE IF NOT EXISTS `数据库名字`;
	
	数据库名字:全部小写,多个单词之间以 _ 分隔
	
	zhiyou_107_test

使用 database
	USE `数据库名字`;
	
创建 table
	CREATE TABLE IF NOT EXISTS `表名` (
		`列名1`  数据类型,
		`列名2`  数据类型,
		...
		`列名n`  数据类型
	);
	
	CREATE TABLE IF NOT EXISTS `student`(
		`number`   int,
		`name`     varchar(10),
		`age`      int
	);
	
	整数:
		TINYINT   1 字节
		INT       4 字节
		BIGINT    8 字节
	
	小数:
		double    双精度浮点数
		decimal   精确小数
		
	日期:
		date        yyyy-MM-dd
		datetime    yyyy-MM-dd HH:mm:ss
		timestamp   时间戳
	
	字符串:
		char(10)   	定长	#######aaa,读写效率高
		varchar(10)	变长	aaa,节省存储空间

使用 alter 为 table 增加一列
	ALTER TABLE `表名` ADD COLUMN `列名` 数据类型;
	
	ALTER TABLE `student` ADD COLUMN `gender` char(1);
	ALTER TABLE `student` ADD COLUMN `birthday` date;

列出 database 中所有的 table
	SHOW TABLES;

查询 table 中的所有数据
	SELECT 列名1, 列名2,... FROM `表名`;
		SELECT name, gender FROM student;
		
	使用 * 表示所有列
		SELECT * FROM `student`;
		
	使用 as 为列名起一个别名
		SELECT name as 姓名, gender as 性别 FROM student;
		
向 table 中插入数据
	INSERT INTO `表名` VALUES(值1, 值2,...);
	
	INSERT INTO `student` VALUES(1001, '蝙蝠侠', 35);

修改 table 中的数据
	UPDATE `表名` SET `列名1`=值1, `列名2`=值2;
	
	UPDATE `student` SET `age`=40 WHERE name='蝙蝠侠';
	
删除 table 中的数据
	DELETE FROM `表名`
	
	DELETE FROM `student`;
	
SELECT,UPDATE 和 DELETE 默认都是对表中的每一行数据进行操作
	如果需要把操作限制到某一区域,需要使用 WHERE 子句
	
WHERE 过滤操作的数据
	WHERE 列名 操作符 值
		操作符:> < = != >= <=
		多条件使用 and 或者 or 进行连接
			SELECT * FROM student WHERE number > 1001 and age < 30;
			SELECT * FROM student WHERE age < 30 or number > 1002;
		
		字符串也使用 = 进行等值比较
			SELECT * FROM student WHERE gender='男';
			
		字符串使用 _ 和 % 通过 LKIE 进行模糊查询
			_ 表示任意一个字符
				_侠  ==  X侠
			% 表示任意个字符
				%侠  == 以 '侠' 结尾的字符串
				
				SELECT * FROM student WHERE name LIKE '%侠'
	
	

猜你喜欢

转载自blog.csdn.net/ilovehua521/article/details/82778103