数据库之mysql
本质就是一款基于网络通信的应用软件
任何基于网络通信的软件底层都是socket
服务端
基于socket通信
收发消息
sql语句(是公共的标准)
客户端
基于socket通信
收发消息
sql语句
ps:mysql 不单单是支持mysql的客户端来操作 也是支持其他的编程语言直接来操作的
python java c++ php 语法都不一样
dbms: 数据库股那里系统
关系行数据库
数据与数据之间可以有关联和简直的
关系型数据库通常都是表结构,也就意味着使用关系型数据库的时候
第一步就是确认表的结构
字段有特定的类型
存名字用的字符串
存密码用数字
存生日用日期
mysql oracle sqlite db2 sql server
非关系型数据库
通常都是以k,v 键值对的形式存储数据
redis,mongodb (文档行数据库 非常接近关系型的非关系型数据,),memcache
MySQL 其实可以把他看成一款支持远程操作文件的软件
库 >>> 文件夹
表 >>> 文件
记录 >>> 文件内一行行的数据叫做一条条的记录
表头 就是表格的第一行数据
字段 字段名+字段类型
安装MySQL
在it 行业不要轻易的尝试最新版本的软件
下载之后 是将MySQL的服务端和客户端都下载下来
解压
查看文件的目录
服务端 mysqld
客户端 mysql
初始化mysql --initialize-insecure
启动mysqld
1.切换到bing目录下
2.执行mysqld
ps:在前期MySQL配置的时候 建议使用管理员身份运行
windows+r 启动的是普通用户
mysql在初始登录的时候是没有密码的 直接回车就行
mysql种的 sql语句 是以分号结束的 不敲 分号默认为你没有输入完客户端会让你继续输入
客户端登录
mysql -h 127.0.0.1 -p 3306 -uroot -p
也可以简写
mysql -uroot -p
如果不输入用户名密码 默认的是方可迷失登录 所能用到的功能很少
客户端退出登录
exit;
quit;
\q
查看所有的数据库
show databases;
查看某个进程
tasklist |findstr 名称
杀死进程
taskkill /F /PID 进程号
制作环境变量
将启动文件所在的路径添加到系统的环境变量中
注意:配置完了之后要重新启动MySQL服务端以及cmd 终端
将mysql制作成系统服务
制作系统服务 你的cmd终端一定要是管理员身份
mysql --install
修改密码
在没有密码的情况下
mysqladmin -uroot -p password 123
有密码的情况下
mysqladmin -uroot -p123 password 12345
当命令输入错误时可以使用\c取消当前的命令 cancel
破解密码
先将已经启动的服务端停掉
1,跳过用户名和面膜的验证功能 启动服务端
mysql --skip-grant-tables 启动服务端 跳过授权表
2,修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host ='localhost'
3,关闭的囊谦服务端 重新以效验用户名个密码的方式启动
4,正常以用户名密码的方式 链接mysql服务端
配置文件
\s查看mysql服务端简单的配置
通常情况下配置文件的后缀都是ini结尾
mysql自带的配置文件不要修改
但是你可以新建一个配置文件 my.ini
代码如下:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
user='root'
password=123
default-character-set=utf8
mysql服务端配置文件之后需要县级那个服务端停止 重新启动 才能生效
修改了配置文件一定的要重启服务端
所有格式 结束以" ; " 为准
库的基本操作
create databases 库名; 增加库名
show database; 查看所有的库
show create database; 库名 查询单个
alter database 库名 charset='utf8';修改库名内部的字符编码
drop database 库名; 删除库
表的基本操作
use 库名; 选择进入那个库
select database(); 查看当前在那个库的底下
create table 表名 (id int ,name char); 增加一个表 加表头 自己选择
show tables; 查看你所在的库的下面的所有的
show create table 表名 ; 查询指定表
alter table 表名 modify 表头 表头长度 : 修改表头的长度
drop table 表名; 删除表
先创建一个库或者指定一个存在的库
切换带该库下面 在创建表
然后在操作表 为表 添加东西 添加的要符合表头的要求
insert into 表名 values(第一参数,第二参数,第三参数);插入单挑数据
insert in同 表名 values(第一参数,第二参数,第三参数),(第一参数,第二参数);插入多条数据元组形式
select * from 表名;查询这个表下面所的信息
select 表头 from 表名 查询指定的的信息字段 ;这个查的就是表里面所有的名字
select 表头,表头 from 表名 where 表头=(指定查那个表头下添加的东西) or 表头=(指定查那个表头下添加的东西);
改
update 表名 set 表头="修改内容"where id = 1; 修改数据 根据 存的时候第一个放的是id id
删除
delete form 表名 where if = 1; 指定删除符合条件的数据
delete from 表名; 将表中的数据全部删除
"""