day39 mysql数据库基本操作

时间:2024-07-04 20:34:50

什么是数据库

用来存储数据的仓库
数据库可以在硬盘及内存中存储数据
主要学习硬盘中存储数据,因为内存中的数据总有一天会丢失 数据库与文件存储数据区别
(公司的开发是综合内容的)
数据库本质也是通过文件来存储数据,数据库的概念就是系统地管理存储数据的文件 对于表查询 (重中之重)

数据库的介绍

数据库服务器端:存放数据库的主机集群
数据库客户端:可以连接数据库的任意的客户端 (通过TCP协议)
数据库管理员:DBA 数据库是基于socket套接字的C/S架构

数据库的基本概念(创建有先后顺序)

库:多表构建一个数据库,本质就是文件夹
表:多条数据构建一张表(解耦合的建立表,再给表建立联系),本质就是文件
记录:存放一条条的数据,本就是文件中的一条条数据记录
(字段)id age name gender... 一个老师的数据 => 一条数据记录

数据库分类

重要性:***
关系型数据库(大型项目)
1.有表的概念
2.以表中一条条记录存储数据
代表:mysql,oracle(甲骨文),sqlServer,access(微软),db2(IBM的) 非关系型数据库
1.没有表的概念
2.通过key-value键值对方式存储数据(对应所有所需的数据)
代表:mongodb,redis,memcache(速度更快)

数据库的安装

如果有安装的其他的mysqld,可以先用mysqld --remove删除之前的mysqld服务器端服务,然后再进行新的mysql安装

下载mysql压缩包,解压缩后,得到一个文件夹
里面是mysql服务器端和客户端的所有内容
把内容放在一个文件夹中,然后放在指定的地方
mysqld --install 安装到windows的services.msc系统服务中
安装了server端和client端
如何启动server?如何通过client连接server bin文件夹下 mysql是客户端,mysqld是服务器端

数据库启动与连接

1.前往数据库安装路径,bin文件夹下,cmd执行mysqld启动mysql服务器端
2.前往数据库安装路径,bin文件夹下,cmd执行mysql,启动mysql客户端连接服务器端

掌握

前提:配置环境变量

将mysql服务器添加到系统服务,在系统服务中启动mysql,命令是mysqld --install
进入系统服务:win+r => services.msc => 找到mysql客户端连接服务器端 分号分隔sql语句 连接数据库
mysql -hlocalhost(主机,默认本机) -P3306(mysql数据库的默认端口号) -uroot(user用户) -p(使用密码)
通过最高权限进入数据库,要采用root用户进入,连入本地数据库:mysql -uroot -p 使用到的命令
查看mysql版本:select version();
查看当前用户:select user();
查看mysqld下当前用户可以操作的所有数据库:
show databases;可以查看当前mysql用户权限能看到的数据库,对应的是mysql文件夹下data文件夹中的文件夹,对于information_schema是登录用户的信息保存在内存中的信息,所有在硬盘中没有对应的文件夹

密码操作

知道旧密码:(***)
修改密码:mysqladmin -uroot -p旧密码 password "新密码" 遗忘旧密码(**)
1.绕过授权表启动服务(安全认证的服务已经停止):mysqld --skip-grant-tables;
2.以任意密码登录root用户:mysql -uroot -p任意
3.更新密码:update mysql.user password=password("新密码") where user=root and host="localhost"
4.刷新权限:flush.privilegas;

统一数据编码

查看数据库配置信息 \s => 统一编码 => 防止乱码(读取不方便,数据丢失)
1.在mysql安装根目录下:创建my.ini(my.cnf)(命令:type nul>文件名.文件后缀)
2.设置配置信息并保存
[mysqld]
[client]
character-set-server=utf8
#port=7777 注释
[client]
default-character-set=utf8
3.重启服务

库的基本操作

前提:需要已经连接上了数据库

增,创建数据库
采用默认编码集:create database db1;
自定义编码集:create database db1 charset='gbk'; 2.查,查看数据库全部信息
纵观所有数据库:show databases;
详细信息:show create database db1; 3.改,修改数据库编码集
alter database db1 charset="utf-8"; 4.删,移除数据库
drop database db1;

表的基本操作

前提:在具体的某个库下创建表
进入某个指定的数据库:use db1;
确定当前使用的数据库:select database(); 1.增,创建表(字段1 类型,...,字段n 类型)
create table t1(name char,age int); 2.查看表信息
纵观所有数据库:show tables;
详细信息:show create table t1;
表字段结构信息:describe t1;(desc t1;) 3.改
修改字段属性:alter table t1 modify name char(20);
修改字段名(把t1的name改成usr):alter table t1 change name usr char(16);
修改表名,把t1名改为t2:alter table t1 rename t2; 4.删,移除表
drop table t1;

字段的基本操作

前提:知道具体操作的是哪张表

1.增,添加字段
insert into t1(usr,age) values("aa",18),("bb",8);
2.查
select * from t1;
3.改
update t1 set age=28 where usr="aa";(where加限制条件)
4.删
delete from t1 where age>8;