MySQL

MySQL是一个流行的关系型数据库管理系统,适用于中小型企业。本文详细介绍了数据库的基本概念、分类,重点讲解了MySQL的特点、基本操作,包括SQL语言、用户管理、数据库操作、数据类型、表操作、数据操作、注释、表连接、子查询、索引、视图、存储过程、存储函数、流程控制、游标、触发器、事件、事务以及日志管理。此外,还提及了JDBC在MySQL中的应用。
摘要由CSDN通过智能技术生成

MySQL

一.数据库简介

存储数据的仓库。
在我们的日常生活中,如超市会员信息,银行卡,学生信息。

1.了解数据库中的几个关键词

**(a)数据:**所谓的数据就是我们要记录的信息,包括了文字,时间,数字,图像等
等的一些内容。
(b)数据库 Database 简称 DB:指长期存储在计算机内的有组织的可共享的数据集
合。
©数据库管理系统 Database Management System 简称 DBMS:是数据库系统的核
心软件之一。
(d)数据库应用程序 Database Application:界面化工具,负责与 DBMS 进行通信,
访问和管理 DBMS 中存储的数据,允许用户插入,修改,删除数据库中的数据:
我们常说的数据库,实质上是数据库管理系统,目前,较为流行的数据库管理系统
有 mysql,sqlserver,oracle 和 DB2 等。

二.数据库的分类

1.关系型数据库

关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中数据,用自己的话来说就是由多张互相连接的表组成的数据库;

1.优点

(a)表结构,格式一致,易于维护

(b)使用通用的SQL语言操作,使用方便,可用于复杂查询

(c)数据存储在磁盘上,安全

2.缺点

(a)读写性能较差,不能满足于海量数据高效率读写

(b)不节省空间,因为建立在关系模型,就要遵循某些规则,某些字段不用也要分配空间;

(c)表结构固定,不灵活;

常见的关系型数据库有:mysql,sql server,oralcle,DB2,Microsoft Access

2.非关系型数据库

又称为NoSQL(Not Only SQL),不仅仅是SQL,通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定

1.优点

(a)存储数据的格式可以是key-value形式,文档形式,图片形式等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型

(b)速度快,效率高,可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘

©大数据量的维护和处理非常轻松

(d)具有扩展简单,高并发,高稳定性,成本低的优势

(e)可以实现数据的分布式处理

2.缺点

(a)暂时不提供SQL支持,学习和使用成本较高

(b)没有事务处理,没有保证数据的完整性和安全性,适合处理大量数据,但是不一定安全

©功能没有关系型数据库完整

常见的非关系型数据库有:

Neo4j,MongoDB,Redis,Memcached,memcacheDB和HBase等

三.MySQL简介

MySQL是一个关系型数据库管理系统,有瑞典MySQLAbB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的应用软件之一,是一个免费开开源的关系型数据库管理系统,但也不意味着该数据库是完全免费,MySQL适合中小型软件,被个人用户以及中小企业所青睐。

1.特点

(a)是开源的,隶属于Oracle旗下

(b)支持大型数据库,可以处理拥有上千万条记录的大型数据库

©使用标准的SQL语言形式

(d)可以运行于多个操作系统上,并且支持多种语言,编程语言C,C++,Python,Java等

(e)支持多线程,充分利用CPU资源

(f)是可以定制的,采用了GPL协议,你可以修改源码来开发自己的MySQL系统。

四.MySQL基本操作

什么是SQL?

SQL(Structured Query Language)结构化查询语言

是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系数据库系统;

一.SQL包含四部分:

(1)数据定义语言(Date Definition Language,DDL)

用来创建或删除数据库以及表等对象,主要包含以下几种命令:
drop:删除数据库或表等对象
create:创建数据库或表等对象
alter:修改数据库或表等对象的结构

(2)数据操作语言(Data Manipulation Language,DML)
用来变更表中的记录,主要包含以下几种命令
insert:向表中插入新数据
update:更新表中的数据
delete:删除表中的数据

(3)数据查询语言(Data Query Language,DQL)
用来查询表中的记录,只要包含 select 命令,来查询表中的数据

(4)数据控制语言(Data Control Language,DCL)

用来确认或者取消对数据库中数据进行的变更,除此之外还可以对数据库中的用户的用户设定权限,主要包含以下几种命令:
grant:赋予用户操作权限
revoke:取消用户的操作权限
commit:确认对数据库中的数据进行的更改
rollback:取消对数据库中的数据进行的变更
注意:SQL语句不区分大小写,语句结尾要以分号结尾

二.用户操作

1.查看用户及作用域
select user,host from mysql.user;
2.查看用户权限
show grants for ‘root’@‘localhost’;
3.创建用户
create user ‘用户名’@‘作用域’ identified by ‘密码’;
flush privileges; – 属性权限表
4.给用户授权
grant 权限 on 数据库名.表名 to ‘用户名’@‘作用域’;
权限为 all privileges 或 all 是所有权限
单个权限select update insert delete 等,单个权限之间用逗号隔开
5.修改用户密码
alter user ‘用户名’@‘localhost’ identified by ‘新密码’;
6.撤销用户权限
revoke 权限 on 数据库名.表名 from ‘用户名’@‘作用域’;
7.删除用户
drop user ‘用户名’@‘作用域’;

三.数据库操作

1.查询所有数据库
show databases;
2.创建数据库
第一种:create database 数据库名;
第二种:create database if not exists 数据库名 default character set 字符集;
3.修改数据库
alert database 数据库名 default character set 字符集;
4.查询数据库信息
show create database test02;
5.删除数据库
drop database 数据库名;
6.选择跳转数据库
use 数据库名;
7.查看当前使用的是哪个数据库
select database();

四.MySQL数据类型

​ 大致可分为:数值类型(整数,浮点数),日期时间,字符串,二进制等类型;
​ 1.整数类型
​ int 整数 4字节 -2147483648-2147483647 21亿
​ 2.小数类型
​ float 单精度浮点型 4字节
​ double 双精度浮点型 8字节
​ 3.日期时间类型
​ date YYYY-MM-DD
​ datetime YYYY-MM-DD HH:MM:SS
​ 4.字符串类型
​ char(num) 定长字符串
​ varchar(num) 变长字符串

五.MySQL中的注释

​ 解释说明的 记笔记用的
​ 1.#单行注释 只能注释掉#以后的当前行
​ 2.–空格 也可以单行注释
​ 3./* */ 多行注释 需要讲注释内容写在斜杠星和星斜杠内 换多少行都可以

六.MySQL对表的操作

1.创建表

create table 表名(字段名 类型,字段名,类型…字段名 类型);

	#判断是否存在,如果存在就删除
	drop table if exists day01;
	#创建表
	create table day01(
		id int,
		name varchar(22),
		age int,
		phone varchar(15)
	);
	#查看表中所有字段
	select * from day01;
	#查看所有表
	show tables;
	
	2.修改表名
	alter table 表名 rename to 新表名;
	#修改表名
	alter table day01 rename to test01;
	
	3.查看表的字符集(编码方式)
	show table status from 数据库名 like '表名';
	#查看表的字符集
	show table status from sjkkf02 like 'test01';
	
	4.修改表的字符集
	alter table 表名 character set 字符集;
	#修改表的字符集
	alter table test01 character set gbk;
	
	5.查看表结构
	desc 表名;
	#查看表结构
	desc test01;
	
	6.修改字段名及类型
	alter table 表名 change 旧字段名 新字段名 新数据类型;
	#修改字段名及类型
	alter table test01 change name names varchar(20);
	
	7.修改字段名
	alter table 表名 rename column 旧列名 to 新列名;
	#修改id字段名
	alter table test01 rename column id to ids;

	8.修改字段类型
	alter table 表名 modify 字段名 字段类型;
	#修改字段类型
	alter table test01 modify names varchar(30);
	
	9.删除字段
	alter table 表名 drop 字段名;
	#删除age字段
	alter table test01 drop age;
	
	10.添加字段
	alter table 表名 add column(列名 数据类型);
	#添加age字段
	alter table test01 add column(age int);
	
	11.删除表
	drop table 表名;
	#删除表
	drop table test01;
	
	select * from test01;
	desc test01;

七.MySQL对数据的操作

#创建表
create table test01(
​			id int,
​			name varchar(20),
​			age int,
​			phone varchar(15),
​			address varchar(50)
​		);
​		
​		#查看表中所有数据
​		select * from test01;
​		
​		1.插入数据
​		全字段插入
​		insert into 表名 values(对应的字段值.....对应的字段值);
​		#插入数据
​		insert into test01 values(1,'小小',20,'110','甘肃兰州');
​		
​		选定字段插入
​		insert into test01(id,name,phone) values(2,'菜菜','120');
​		
​		2.修改数据
​		update 表名 set 字段=值,字段=值.....字段=值 where 条件;
​	
​		#修改数据
​		update test01 set age=20,address='甘肃兰州' where id=1;
​		
​		select id,name,age from test01 where id = 2;
​		
​		insert into test01 values(3,'嘟嘟',30,'120','甘肃武威');
​		
​		update test01 set age=15,phone='119' where id=1 or id=3;

​		update test01 set age=20,phone='110' where id=1 and id=3; X
​		
​		
​	3.删除数据
​	delete from 表名 where 条件;
​		
​	#删除数据
​	delete from test01 where id = 2;

​	select * from test01;
​		
​	4.查询数据	
​	查询表中所有数据
​	select * from 表名;
​	查询表中指定字段
​	select 字段名,字段名... from 表名;
​	根据条件查询所有数据
​	select * from 表名 where 条件;
​	
​	5.where语句
​	where后跟条件
​	单条件查询 直接where后跟一个条件
​	select * from test01 where id = 2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@辰星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值