欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

**MySql基础 篇1/共3篇 [史上最全重点,web基础day02] *

程序员文章站 2022-05-30 18:23:39
...

今日内容:

1. mysql概述
2. sql概述
3. DDl
4. DML

MySql概述:

1. 内存和文件的优缺点:
	* 内存:速度快,但是不能永久保存,数据是临时状态。
	* 文件:数据可以永久保存,操作数据不方便,查询某个数据。
2.	数据库优缺点:
	* 优点:		
		1. 数据可以永久保存
		2. 查询速度快
		3. 对数据的管理方便
	* 缺点:
		1. 占用资源,需要购买。
		2. 需要专门的软件进行编写,需要学习成本去使用它的语法和使用方式
3. 什么是数据库:
	1.储存数据的仓库
	2.本质上是一个文件系统,还是以文件的方式存在服务器的电脑上的。
	3.所有的关系型数据库都可以使用通用的SQL语句进行管理DBMS DataBase Management System
4.为什么选择MySQL
	1.免费
	2.功能强大
5.MySQL目录结构:
	bin<目录>:所有mysql的可执行文件,如:mysql.exe
	MySQLInstanceConfig.exe:	数据的配置向导,在安装时出现的内容;
	date<目录>:系统必须的数据库所在的目录。
	my.ini文件:mysql的配置文件,一般不建议去修改。
6. 数据库管理系统:指一种操作和管理数据库的大型软件,用于建立,使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统各访问数据库表内的数据。
7. 结论:
	* 一个数据库服务器包含多个库,一个数据库包含多张表,一个表包含多条记录

SQL概述

1.SQL:Structured Query Language  结构化查询语言

2. SQL作用:
	1.是一种所有关系型数据库的查询规范,不同的数据库都支持。
	2.通用的数据库操作语言,可以用在不同的数据库中。
	3.不同的数据库SQL语句有一些区别。
3. SQL语句分类:
	DDL:建库,建表
	DML:增删改
	DQL:对表中的查询操作
	DCL:对用户权限的设置
4. MySQL语法:
	每条语句以分号结尾,如果在SQLyog中不是必须加的。
	SQL中不区分大小写,关键字中认为大写和小写是一样的。
	3中注解:
	--空格		单行注释		# 单行注释(这个是mysql特有的注释方式)
	/* */这是mysql特有的注释方式

DDL:

1. DDL操作数据库:
	1. 创建数据库: CREATE  DATABASE 数据库名;
	2. 判断数据库是否已经存在,不存在则创建数据库	:
		* CREATE DATABASE IF NOT EXISTS 数据库名;
	3. 创建数据库并指定字符集:
		*CREATE DATABASE 数据库名 CHARCTER SET 字符集;
	4. 按tab可以自动补全关键字;
	5. 修改数据库默认的字符集:
		* alter database 数据库名 default character set 字符集;
	6. 将db3数据库的字符集改成utf8
		* alter database bd3 character set utf8;
	7. 删除数据库的语法:
		* drop database 数据库名;
	8. 具体操作:
		* 每行SQL语句需要选中再执行,可以按F9
	9. 查看正在使用的数据库:
		* select database();  使用的一个mysql中的全局函数
	10. 使用/切换数据库
		* use 数据库名;			
2. DDL操作表结构:
	* 创建表的格式:
	create table 表名(
	字段名1  字段类型1;
	)
3. 添加数据:语法:insert into 表名(列名1,列名2...)values(值1,值2...);
	* 注意:	
		1. 列名和值要一一对应。
		2. 如果表名后,不定义列名,则默认给所有列添加值。
			* insert into 表名 values(值1,值2,值...);
		3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来。
3. 删除数据:
	* 语法: 
		1. delete from 表名 [where 条件]
			* 注意:
			1. 如果不加条件,则删除表中所有记录。
			2. 如果要删除所有记录
		2. delete from 表名;  --不推荐使用。有多少条记录就会执行多少次操作。
		3. truncate table 表名;		--先删除表,然后再创建一张一模一样的表。	
	* 查询表中的记录: select * from 表名;
4.数据库的基本概念:
	1. DataBase    简称DB
	2. 什么是数据库?			用于存储和管理数据的仓库。
	3. 数据库的特点:
		* 持久化储存数据的。			其实数据库就是一个文件系统。
		* 方便存储和管理数据
		* 使用了统一的方式操作数据库。			--SQL
	4. 常见的数据库软件:Oracle,MySQL,DB2,MySQLSEVER等。
	5. MySQL软件  相当于是服务端3306.				所以它必须开启服务,才能被其他连接。		
	6. 配置:
		* MYSQL服务启动:
			1. 手动
			2. cmd-->services.msc        打开服务的窗口
			3. 使用管理员打开cmd
	7. 开启关闭服务
		1. net start mysql  :启动mysql的服务。
		2. net stop mysql	  :关闭mysql的服务。
	8. MYSQL登录
		1. mysql 	-uroot	-p密码
		2. mysql -hip	-p连接目标的密码		(安装数据库要勾上远程控制访问才可以)
		3. mysql	--host=ip	--user=root	--password=连接目标的密码	
	9. MYSQL的目录结构:
		1.MYSQL安装目录结构
					配置文件:	my.ini
		2.MYSQL数据目录
		几个概念
		数据库---->文件夹
		表	  ---->文件
		数据  ----->数据
	
	10. SQL是结构化查询语言,定义了操作所有关系型数据库的规则。		
5. 三种注释:
	1. 单行注释:-- 注释内容(两个横杠一个空格)
	2. # 		---> mysql特由于的单行注释
	3. 多行注释:/*  */
6. SQL通用语法:
	1.SQL语句可以单行或多行书写,以分号结尾。	(在mysql中可以自动加上;)
	2.可使用空格和缩进来增强语句的可读性。
	3.MYSQL数据库的SQL语句不区分大小写,关键字建议使用大写。
	4.注释
	
	
7. SQL分类:
	1.DDL:数据定义语言:定义数据库,表,列等:关键字:create,drop,alter等
	2.DML:数据操作语言:用来对数据库表中的数据进行增删改。关键字:insert ,delete,	update等
	3.DQL:数据查询语言,用来查询数据库中表的记录(数据)。关键字:select,where等
	4.DCL:数据控制语言:用来定义数据库的访问权限和安全级别,及创建用户。关键字:grant,revoke;
	
8. DDL:操作数据库、表
	1.操作数据库:CRUD
	1.C	:create:创建
	2.R	:retrieve:查询			查询所有数据库的名称:show databases;
	3.U	:update:修改
	4.D	:  delete:删除
	5.使用数据库
9. 操作数据库: 
		1. 创建: 	
				create	database 数据库名称;
			* 创建数据库,判断不存在,再创建:
				create database if not exists 数据库名称;
			* 创建数据库,并制定字符集:
				create datebase 数据库名称 character set 字符集名;
		2. 查询:
			* 查询所有数据库的名称:
				show databases;
			* 查询某个数据库的字符集:查询某个数据库的创建语句
				show create database 数据库名称;
		3. 修改:
			* 修改数据库字符集名称:
				alter database 数据库名称 character set 字符集名称;
		4. 使用:
		 	* use 数据库名称;
	
10. 查询表:R(Retrieve)查询
	查询所有表:show  tables;
	查看表结构:desc  haha;
	
	
11. 创建表:	C(create):创建
	1.语法: 	
		create table表名 (
		列名1  数据类型,
		列名2  数据类型2,
		...
		列名n  数据类型n
		);
	* 注意:最后一列,不需要加“,”号;
12. 数据库类型:
	1. int:整数类型		*age int,	
	2. double:小数类型	*score double(5,2),		->说明总长度5位,保留两位小数。
	3. date:日期,只包含年月日,yyyy-MM-dd
	4. datetime:日期,包含年月日时分秒		
		yyyy-MM-dd HH:mm:ss
	5. timestamp:时间错类型   包含年月日时分秒  
		yyyy-MM-dd HH:mm:ss
	6. varchar:字符串
		* name varchar(20):姓名最大20个字符
	7. 创建表:
		create table student(
		id int,
		name varchar(32),
		age int,
		score double(4,1);
		);
		
	* 大型数据可以储存在CLOB里面,二进制类型可以储存图片;
13. 修改,添加,删除:
	1. 修改U(Update):
		1.修改表名
		alter table 表名		【rename to 新的表名;】
		2.修改表的字符集
		alter table 表名		【character set 字符集名称;】
	2. 添加:
		* 添加一列:* alter table 表名		【add 列名 数据类型;】
	3. 修改列名称 类型
		* alter table 表名		【change 列名 新列名 新数据类型】
	5. 删除列:alter table 表名		【drop 列名】;
	6. D(Delete):删除
		1. drop table 表名;
		2. drop table if exists 表名;

DML

1. DML:增删改表中的数据:
	1. 添加数据:
		* 语法: insert into 表名(列名1,列名2,...列名n)values(值1,值2,...值n);
		* 注意:
		 1. 列名和值要一一对应。
		 2. 如果表名后,不定义列名,则默认给所有列添加值。
				insert into 表名 values (值1,值2,...值n);
	2. 删除数据:
		* 语法:delete from 表名[where 条件]
		* 注意:
			1. 如果不加条件,则删除表中所有记录。
			2. 如果要删除所有记录:
		* 示例:
			1. delete from 表名; 	-- 不推荐使用。有多少条记录就会执行多少次。
			2. truncate table 表名;		#推荐使用,效率更高,先删除表,然后再创建一张一模一样的表。
	 3. 修改数据:
		* 语法:update 表名 set 列名1=值1,列名2=值2,...[where 条件];
		* 注意:1.如果不加任何条件,则会将表中所有记录全部修改。
		* DQL:查询表中的记录
		* 语法: slect * from表名 
		
		"*"代表所有字段
		1.基本查询:
		select 字段名1,字段名2...from 表名;
	4. distinct 去重复;
		1. 语法:
			select	字段列表
			from		表名列表
			where	条件列表
			group by 分组字段
			having 	分组之后的条件
			order by  排序
			limit  	 分页限定
		2. 基础查询:
			1.多个字段的查询:
			select 字段名1, 字段名2...from 表名;
				* 注意:如果查询所有字段,则可以使用*
	  	3. 等号是精确查询。****基础加强:反射,注解,测试 [史上最全重点,web基础day01] ***