学习总结-MySQL①

文章详细介绍了Mysql的安装、启动及卸载过程,包括初始化、安装服务、启动和重启服务。此外,还涉及登录数据库验证、环境配置以及数据库的基本概念,如数据存储方式、数据库的优点和数据库管理系统的作用。同时,文章讲解了SQL语法,包括注释、数据定义、数据操作、数据查询和数据控制语言,以及数据库对象如数据库、表的管理操作。最后,提到了端口冲突解决方法和数据备份策略。
摘要由CSDN通过智能技术生成

0719-0722

Mysql 的安装和启动

安装
  • 1initialization:初始化 MYSQL 服务

  • 2install :安装 Mysql 服务

  • 3startup :启动 MYSQL 服务

    安装时依次执行1,2,3

  • 4reboot :重启 MYSQL 服务

    卸载
  • 5stop :将 MYSQL 服务停止

  • 6uninstall :删除服务

    最后删除文件夹

登录数据库验证安装
mysql [-h 127.0.0.1] [-p 3306] -u root -p
  -h : MySQL服务所在的主机IP
  -P : MySQL服务端口号,默认 3306
  -u : MySQL数据库用户名
  -p : MySQL数据库用户名对应的密码

**注意:**初始化脚本只需要执行一次。如果在某个过程出错,删掉目录,重新来过即可。

进行环境配置

将 mysql 的bin 目录地址添加到系统环境变量 path 中。

D:\kaifamiao\enviroments\mysql-8.0.30-winx64\bin

什么是数据库

​ 数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

数据的存储方式

  1. 数据保存在内存
    例如:数组,集合;new出来的对象存储在堆中.堆是内存中的一小块空间
    优点:内存速度快 缺点:断电/程序退出,数据就清除了.内存价格贵
  2. 数据保存在普通文件 优点:永久保存 缺点:查找,增加,修改,删除数据比较麻烦,效率低
  3. 数据保存在数据库 优点:永久保存,通过SQL语句比较方便的操作数据库

数据库的优点

数据库是按照特定的格式将数据存储在文件中,通过SQL语句可以方便的对大量数据进行增、删、改、查操作,数据库是对大量的信息进行管理的高效的解决方案。

数据库管理系统

数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据

数据库管理系统、数据库和表的关系

数据库管理程序(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。

先有数据库 → 再有表 → 再有数据 一个库包含多个表

mysql端口被占用解决

cmd窗口下执行如下命令:

netstat -ano|findstr 3306

查找正在执行的3306端口程序

如果出现如图所示列表表示以上程序使用了3306端口,找到程序的PID(最后一列)

去任务管理栏找到对应程序结束任务就行了。

SQL的通用语法

注释
  • 单行注释 # 和 --都表示注释
  • 多行注释 /* */
分类
  1. DDL 数据定义语言,用来定义数据库对象(数据库,表,字段)
  2. DML 数据操作语言,用来对表中的数据进行增删改
  3. DQL 数据查询语言,用来查询表中的记录
  4. DCL 数据控制语言,创建数据库用户,控制数据库的访问权限
DDL 语句
数据库

1.查看数据库

show databases; #查看当前用户可操作的所有数据库

2.创建新的数据库

create database 数据库名;

3.选择数据库

use 数据库名;
# 选择数据库之后可以在其中创建数据库表

4.删除数据库

drop database 数据库名;

1.查看表

show tables;  #查看当前被选中的数据库中的所有表

2.创建表

create table 表名 (
列名 类型,
列名 类型);

3.查看表结构

describe 表名;
desc 表名;
show create table 表名;  #可以查看创建表时候的代码

4.删除表

drop table 表名;
用户管理

1.查看当前登录的用户

select user();

2.创建新用户

create user 用户名@'ip' identified by '密码';

3.修改密码

alter user 用户名@'ip' identified by '密码' password expire never;  #修改密码之后不需要重新登录

4.查询用户信息

select user,host from mysql.user;

5.新用户登录

mysql -u 用户名 [-h ip] -p

6.用户授权

show grants for 用户名@localhost;  #查询用户权限

grant all on 数据库名.表名 to 用户名@localhost;
          #all代表所有权限
          #授权的新用户需要重新登录才能使用新权限

​ all : 所有权限

​ select :查询权限

​ insert : 插入权限

​ update : 更新权限

7.删除用户

drop user 用户名@'localhost';

表操作

1.添加列

alter table 表名 add 列名 类型;

2.修改列

alter table 表名 modify 列名 类型;
#只能修改类型

3.修改列名和类型

alter table 表名 change 旧列名 新列名 新类型;

4.删除列

alter table 表名 drop 列名(字段名);

5.修改表名

rename table 旧表名 to 新表名;

6.删除表

drop table 表名;

7.截断表

truncate table 表名
#删除表后会创建一个空表

8.创建和某表结构一样的表

create table 表名 like 要复制的表;

#当复制的表 不在当前数据库时
create table 表名 like 数据库名.表名;

数据管理(CRUD)

1.插入数据(增)

insert into 表名(列名1,列名2,····) values (数据1,数据2,····);
#如果前面有字段按照前面的字段顺序添加,没有按照默认的顺序添加

insert into 表名 values(),(),();

2.查询数据(查)

select * from 表名;
# 无条件查询

#等值查询
select * from 表名 where 字段名 = values;

#设置列别名
select 字段名 [as] '别名' from 表名 where 条件;

select distinct * from 表名;
#只是在显示的时候不显示重复的数据,数据未删除

3.修改数据(改)

update 表名 set 列名 = values where 条件;

4.删除数据(删)

delect from 表名 where 条件;

条件查询

1.条件过滤

select * from 表名;

#where 后面表示查询的条件
select * from 表名 where 字段 between values and values;

#字段在(values1,values2...)任意一个就可以;
select * from 表名 where 字段 in (values1,values2,values3);

select * from 表名 where 字段 not in (values1,values2,...);

select * from 表名 where 条件 and 条件;
select * from 表名 where 条件 or 条件;

2.算数运算

select 字段1 + 字段2 from 表名;
update 表名 set 字段 = 字段 +value where 条件;

3.NULL值查询

#当查询值是null时
select * from 表名 where 字段 is null;

#当查询值是null时
#select * from 表名 where 字段 no is null;

4.模糊查询

select * from 表名 where 字段 like 'x_'/'x%'/'%x%'/'_x%';

5.逻辑运算

select * from 表名 where 字段 > value;
#where 条件语句里面可以写> < = != 等;

6.排序

select * from 表名 order by 字段1 desc,字段2 asc;
#升序和降序

7.分页查询

select * from 表名 limit (n-1)*s,s;
# n表示页,s表示条数

8.单行查询

select length(所求的) from 表;
select  upper (字段),lower(字段) from 表;
select concat(字段1,字段2) from 表;

数据备份

1.备份表

# -d 只备份表结构
mysqldump -u root -p -d 数据库 表 > E:/dept.sql;

# 数据+表结构一起备份
# mysqldump -u root -p 数据库 > 地址

#备份多个数据库 
mysqldump -u root -p -d -B 数据库1 数据库2 数据库3 > 地址

#备份所有数据库
mysqldump -u root -p -d -A > 地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值