MySQL数据库

数据库的基本概念

*MySQL服务启动
1.手动
2.cmd-->services.msc 打开服务的窗口
3.以管理员身份打开cmd
	net start mysql 启动
	net start mysql 关闭
*MySQL登录
 	1. mysql -uroot -proot
 	2. mysql -hip -uroot -p连接目标的密码
 	3. mysql --host=ip --user=root --password=连接目标的密码
*MySQL退出
 	1. extit
 	2. quit
*MySQL的目录结构
	1. 安装目录
	    	配置文件 my.ini
	2. 数据目录
			数据库:文件夹
			表:文件
			数据:data

一、SQL

1.什么是SQL:
		Structured Query Language:结构化查询语言,定义了操作所有关系型数据库的规则
		每一种数据库操作的方式存在不一样的地方,称为“方言”
2.SQL通用语法
	1. SQL语句可以单行或多行书写,以分号结尾
	2. 可以使用空格和缩进来增强语句的可读性
	3. MySQL数据库的SQL语句不区分大小写,建议使用大写
	4. 三种注释
		* 单行注释:--(一定要加空格)注释内容 或#注释内容(mysql 特有) 多行注释:/*注释内容*/
3. SQL的分类

在这里插入图片描述

二、DDL:操作数据库、表

1.操作数据库:CRUD

 	1. creat:创建
 		1.创建数据库:
 	 		create database 数据库名称;
 	 	2.创建数据库,判断不存在,再创建:
 	 		create database if not exists 数据库名称;
 	 	3.创建数据库并指定字符集:
 			create database 数据库名称 charac set字符集名;
 	
		4.练习:创建db4数据库,判断是否存在并制定字符集为gbk
	 	    create database if not exists db4 character gbk;
 	 2.Retrieve:查询
 		 1.查询所有数据库的名称:
  			 show databases;
  		 2. 查询某个数据库的创建语句:
   			 show creat database 数据库名称;
 	3. Update:修改
		  修改数据库的字符集:
		  	 alter database 数据库名称 charac set 字符集名称;
 	4. Delete:删除
		  删除数据库:
		  	 drop databases 数据库名称;
		  判断数据库存在,存在再删除
		     drop database if exists 数据库名称;
 	5.使用数据库
 	     1. 查询当前正在使用的数据库名称
 	         select database();
 	     2. 使用数据库
 	      	 use 数据库名称

2.查询表

1.C(Create):创建
	语法:
	create table 表名(
		列名1 数据类型1,
		列名2 数据类型2,
		.......
		列名n 数据类型n
	)
	数据类型:
		1)int
		2)double:score double(num1, num2)
			num1:总位数
			num2:小数点后位数
		3)date:只包含年月日,yyy-MM-dd
		4)datetime:日期,包含年月日时分秒 yyy-MM-dd HH:mm:ss
		5)timestamp:时间错类型 ,包含年月日时分秒 yyy-MM-dd HH:mm:ss
			如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
		6)varchar:字符串
			name varchar(num):num为最大字符数
	创建表
		create table student(
				-id int,
				-name varchar(32),
				-age int,
				-score double(4,1),
				-birthday date,
				-insert_time timestamp
		);
		复制表
			create table 表名 like 要复制的表名
			
			
2.R(Retrieve):查找
	查询某个数据库中所有的表名称
		show tables;
	查询表结构
		desc 表名;
3.U(Update):修改
	1.修改表名
		alter table 表名 rename to 新的表名;
	2.修改表的字符集
		alter table 表名 character set  字符集名称;
	3.添加一列
		alter table 表名 add 列名 数据类型;
	4.修改列的名称 类型
		alter table 表名 modify 列名 新数据类型;
		alter table 表名 change 要修改的列名 新列名 新数据类型;
	5.删除列
		alter table 表名 drop 列名;
4.D(Delete) :删除
	drop table 表名;
	drop table if exists 表名;

客户端图形化工具SQLYog

三、DML:

1.添加数据
	1.语法:insert into 表名(列名1,列名2,····列名n) values(值1,值2,····值n);
	2.注意:
		(1)列名和值要一一对应
		(2)如果表名后,不定义列名,则默认给所有列赋值
				insert into 表名 values(值1,值2,····值n);
		 (3)除了数字其他要用引号(单双都可以)引用
2.删除数据
	1.语法:
		delete from 表名 [where 条件];
	2.注意:
		如果不加条件,则删除表中所有记录
	3.删除所有记录
		delete from 表名;	不推荐使用,有多少条记录就会执行多少次删除操作
		TRUNCATE TABLE 表名; 	推荐使用 (删除表,再创建一个相同的表)
3.修改数据
	1.语法:
		update 表名 set 列名1 = 值1,列名2 = 值2, 。。。[where 条件];
		例子:UPDATE stu SET age = 22 WHERE id = 4;
	2.注意:
		如果不加任何条件则会将表中记录全部修改

四、DQL:查询语句

1.排序查询
	1.语法:order by 字句
		order by 排序字段1 排序方式1,排序字段2,排序方式2
	2.排序方式:
		ASC:升序,默认的。
		DESC:降序
	3.注意:
		如果有多个排序条件,则当前一个条件一样时,才回判断第二个条件
2.聚合函数:将一列数据作为一个整体,进行纵向的计算
		SELECT 聚合函数(NAME) FROM 表名;
	1. count:计算个数
		(1)尽量选择非空的列:主键
		(2)count(*)
	2. max:计算最大值
	3. min:计算最小值
	4. sum:求和
	5. avg:计算平均值
	注意:聚合函数的计算会排除NULL值
		解决方案:
			1. 选择不包含非空的列进行计算
			2. IFNULL函数
3.分组查询
	1. 语法:group by 分组字段;
	2. 注意:
		(1)分组之后查询的字段:分组字段、聚合函数
		(2)where 和 having 的区别:
				where 在分组之前进行限定,如果不满足条件,则不参与分组。
				having在分组之后进行限定,如果不满足结果,则不会被查询出来
				where 后不可以跟聚合函数,having可以进行聚合函数的判断
4.分页查询
	1.语法:limit 开始的索引,每页查询的条数
	2.公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数
5.条件查询
	1.where字句后跟条件
	2.运算符:
		@	> 、 < 、 <= 、 >=  、= 、 <>
		@	BETWEEN...AND
		@	IN(集合)
		@	LIKE:模糊查询
				占位符:
					_	单个任意字符
					%	多个任意字符
		@	IS NULL 
		@	and 或 &&
		@	or 或 ||
		@	not 或 |

约束

*概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
*分类:
	1.主键约束:primary key
	2.非空约束:not null
	3.唯一约束:unique
	4.外键约束:foreign key
# 非空约束:not null,值不能为NULL
	1.创建表时添加约束
		CREATE TABLE stu(
			id INT,
			NAME VARCHAR(20) NOT NULL -- name 为非空
		);
	2.创建表后,添加非空约束
		ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
	3.删除name的非空约束
		ALTER TABLE stu MODIFY NAME VARCHAR(20);
# 唯一约束:unique,值不能重复
	-- 创建表时,添加唯一约束
		CREATE TABLE stu(
			id INT,
			NAME VARCHAR(20) UNIQUE -- 添加了唯一约束
		);
	-- 注意mysql中,唯一约束可以有多个null
	-- 删除唯一约束
		ALTER TABLE STU DROP INDEX NAME;
	-- 在创建表后,添加唯一约束
		ALTER TABLE stu MODIFY  name VARCHAR(20) UNIQUE;
# 主键约束:primary key
	1.注意:
		1.含义:非空且唯一
		2.一张表只能有一个字段为主键
		3.主键就是表中记录的唯一标识
	2.在创建表时,添加主键约束
		create table stu(
			id int primary key, -- 添加了主键约束,id不可以重复,不可以为null
			name varchar(20)
		);
	3.删除主键
		ALTER TABLE stu DROP PRIMARY KEY;
	4.创建表后,添加主键
		ALTER TABLE stu MODIFY id INT PRIMARY KEY;
	5.自动增长
		概念:如果某一列是数值类型的,使用auto_increment 可以完成值的自动增长
		在创建表时,添加主键约束,并且完成主键自增长
		create table stu(
			id int primary key auto_increment, -- 给id添加主键约束
			name varchar(20)
		);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值