Mysql数据库

Mysql数据库

数据库的基本概念
1.什么是数据库

​ 存储数据的仓库,本质是一个文件系统。

2.数据库的特点

​ 优点:1.数据可以存储到存储设备中,可以进行数据的持久化。

​ 2.方便进行数据的管理

​ 3.快速查询

3.常见的数据库软件

​ Oracle,mysql,DB2,Sqllate

Mysql的安装配置
安装:

​ 选择自定义安装(custom)。

配置:

​ 选择标准配置,选择开发(develop)机器,选第一个事务,自定义20并发数,选择第三个自定义utf-8字符集,默认安装到windows的服务,自定义密码。

卸载:

​ 打开控制面板,卸载mysql。将mysql的文件夹(默认在隐藏文件C:\ProgramData中)删除。然后可以重新安装。如果安装失败,需要删除mysql对应的注册表。

服务的启动

​ 1.找到服务(搜索services.msc)启动或停止

​ 2.cmd(以管理员身份运行)中net start/stop mysql

客户端登陆
1.本地登陆mysql -u+你的用户名 -p+你的密码
2. 远端登陆mysql -h+数据库的ip地址 -u+你的用户名 -p+你的密码
3.mysql --host=localhost --user=你的用户名 --password=你的密码

SQL

​ 是一种关系型数据库的查询规范,不同数据库的差异叫方言

三种注释

​ 1./* 注释*/

​ 2.-- 注释 (有空格)

​ 3.# 注释

分类
1.DDL 数据库定义语言

​ 用来定义数据库对象,库,表,列 关键字 create drop alter

#1.操作数据库
	#创建数据库
	create database	db1;
	#判断是否存在,不存在则创建
	create database if not exists db1;
	#创建数据库时指定字符集
	create database db2 default character set utf8;
#检索数据库
	#查询所有数据库
	show databases;
	#查看某个数据库的创建语句
	show create database db1;
	#修改字符集,默认为选中数据库	
	alter database (数据库名) defalut character set utf8;
	#使用数据库
	use db2;
#删除数据库
	drop database db1;
#2.操作数据表
	#创建表
	create table table2(
		age int,
		name varchar(20),
        birthday date
	);
	#复制表结构
	create table tablecopy like table2;
#检索表
	#查看当前数据库下的所有表
	show tables;
	#查看表结构
	desc student;
	#查看表的创建语句
	show create table student;
#更新表
	rename table student to stu;
	#指定表字符集
	create table stu2(
    	age int,
        name varchar(20)
    ) defalut charset=gbk;
    #修改表字符集
    alter table student character set utf8;
    #添加列
    alter table student add column remark varchar(20);
    #修改列
    alter table student modify remark varchar(100);
    #改变列名
    alter table student change remark intor varchar(100);
    #删除列
    alter table student drop column intor;
#删除表
	drop table student;
	#不存在时删除
	drop table if exists student;
2.DML 数据库操作语言

​ 用来操作数据库中的数据。 关键字:insert delete update

#1.插入数据(字段与值顺序一致)
	insert (into) student (id,name,birthday) values (1,"张三",'2019-08-07'),(2,"李四",'2013-02-05');
#2.修改表字段(不加条件默认全部改)
	update student set birthday = '2015-06-16' where id =2;
#3.删除表字段(不加条件默认全删)
	delete from student where id =3;#删除表数据
	truncate student; #删除表数据和结构
	
3.DQL 数据查询语言

​ 用来查询数据库中的数据 关键字: select where group by

#语法
	select * from 表名
	where 条件
	group by 分组字段
	having 分组后条件过滤
	order by 排序字段 排序类型
	limit 限制条件(起始位置, 长度,分页)
#简单查询(查询所有)
	select * from student;
#指定列查询
	select id,name from student;
#别名查询
	select id,name,math as 数学,English as 英语 from student;
#去除重复查询
	select distinct address from student;
#查询结果参与计算(只要有一个为null那么计算结果则为null)
	select id,`name` math+ifnull(English,0) as total from student;# ifnull(实际值,预期值)
#条件过滤
	#where关键字
		select * from student where math >80;
	#and 与关键字
		select * from student where math >80 and English >70;
	#or 或关键字
		select * from student where id=1 or id=2 ;
	#is  IS关键字
		select * from student where name is not null;
	#like关键字
		select * from student name like '%马_'  #  %为通配符,_为一个占位符
	#between and 不仅而且关键字
		select * from student where math between 80 and 90;
	#in关键字
		select * from student where id in(1,3,5);
#排序 desc 降序  asc 升序|order by默认为升序
	select  * from student order by math desc;
	select * from student order by math desc,English asc; #如果第一个相等,则根据第二个排序
#聚合函数
	#count()  计算数量
	select count(id) from student;
	select count(*) from student;
	select count(1) from student;
	#max()  计算最大值
	select max(math) from student;
	#min()  计算最小值
	select min(math) from student;
	#avg()  计算平均值
	select avg(math) from student;
	#sum()  计算总和
	select sum(math) from student;
#分组 group by
	select sex,count(*) from student group by sex
#分页 limit 开始位置 长度   开始位置 = (当前页-1)*页大小
	select * from student limit 0,4;
4.DCL 数据控制语言

​ 用来管理用户授权用户的 关键字 grant revoke

#创建用户 create user 用户名@主机名identified by密码
	create user 'user1'@ 'localhost' identified by'123'
	create user 'user2' @ '%' identified by '123' %表示任意主机
#给用户授权	grant 权限1,权限2... on 数据库.表名 to 用户名 @主机名
	grant create,update,delete on db4.student to 'user2' @ 'localhost'
	grant all on *.* to 'user2' @ '%'
#撤销权限   revoke 权限1,权限2... on 数据库.表名 from 用户名 @主机名
	revoke create,update,delete on db4.student from 'user2' @ 'localhost'
#查看权限  show grants for '用户名' @ '主机名'
	show grants for '用户名' @ '主机名'
#删除用户 drop user  '用户名' @ '主机名'
	drop user 'user2' @ 'localhost'
#修改管理员密码 未登陆状态下 | mysqladmin -u用户名 -p password 新密码 回车然后输入旧密码
	mysqladmin -uroot -p password 123456
	123
#修改普通用户密码   set password for '用户名' @ '主机名'=password("新密码")
	set password for 'user2' @ 'localhost' = password("123456")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值