数据库概念
1.将数据存到一个文件中,但是数据的格式也会千差万别,这些就因人而异了。
2.软件开发目录规范
规定了数据存放的位置
ps:数据到时保存在本地的
3.将保存数据的部分,存到一个公共的地方,所有的用户涉及到数据相关,都必须来这个公共地方查找
数据库之MySQL(MySQL是一个关系型数据库管理系统)
MySQL的本质是一款基于网络通信的应用软件
任何基于网络通信的软件,底层都是socket
服务端
-基于socket通信
-收发消息
-SQL语句(是一个公共的标准,其他编程语言想要操作必须要遵守这个标准)
客户端
-基于socket通信
-收发消息
-SQL语句
ps:MySQL不单单支持MySQL的客户端来操作,也支持其他编程语言直接操作(使用MySQL的公共标准)
DBMS:数据库管理系统
关系型数据库
MySQL,Oracle,sqlite,db2,SQL,server
数据与数据之间可以有关联和界限的
关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候第一步就是确定表结构
字段有特定的类型:存名字用字符串
存密码用数字
存生日用日期
非关系型数据库
Redis,MongoDB(文档型数据库,非常接近关系型的非关系型数据),memcache
通常都是以K,V键值的形式存储数据
MySQL其实可以把它看成一款支持远程操作文件的软件
表头就是表格的第一行数据
字段--字段名+字段类型
记录:1 朱葛 13234567890 22(多个字段的信息组成一条记录,即文件中的一行内容)
表:userinfo,studentinfo,courseinfo(即文件)
数据库(库):db(即文件夹)
数据库管理系统:如mysql(是一个软件)
数据库服务器:一台计算机(对内存要求比较高)
总结:
数据库服务器-:运行数据库管理软件
数据库管理软件:管理-数据库
数据库:即文件夹,用来组织文件/表
表:即文件,用来存放多行内容/多条记录
安装MySQL的那些事
在IT行业,不要轻易的尝试最新版本的软件(******)
下载之后是将MySQL的服务端和客户端都下载了下来
服务端:mysqld
客户端:mysql
ps:终端建议你用管理员身份运行
Windows+R启动的是普通用户
MySQL在初登陆的时候是没有密码的,直接回车即可
MySQL中的SQL语句是以分号结束的,不敲分号默认你没有输入完,客户端还会让你继续输入
客户端登录
mysql -h 127.0.0.1 -p 3306 -uroot -p
可以简写:mysql -uroot -p
如果不输入用户名和密码,默认是访客模式登录,能用到的功能很少
客户端退出登录
exit;
quit;
查看某个进程
tasklist |findstr 名称
杀死进程
taskkill /F /PID 进程号
制作环境变量
将启动文件所在的路径添加到系统的环境变量中
注意:配置完之后一段要重新启动mysql服务端及cmd终端
将MySQL制作成系统服务
制作系统服务,你的cmd终端一定要是管理员身份
mysql --install
修改密码
没有密码的情况下 mysqladmin -uroot -p password 123 有密码的情况下 mysqladmin -uroot -p123 password 123456 当命令输入错误的时候 可以用\c取消前面的命令 cancel破解密码 现将已经启动的服务端停掉 1.跳过用户名和密码的验证功能 启动服务端 mysqld --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 mysql服务端在启动就会自动加载你的my.ini配置文件内的配置 修改完配置文件之后需要先将服务端停止 重新启动 才能生效 修改了配置文件一定要重启服务端数据库的基本操作 库 类似于文件夹
#增 create database db1; #查 show databases; #查所有 show create database db1; #查单个 #改 alter database db1 charset='gbk'; #修改编码 #删 drop database db1; #删库
表在创建表的时候 需要先指定库
#指定库: use 库名 #查看当前虽在的库: select database() #增 create table userinfo(id int,name char); #查 show tables; #查看某个库下面的所有的表 show create table userinfo; desc userinfo; <==> describe userinfo; #改 alter table userinfo modify name char(32); #删 drop table userinfo;
记录
#先创建一个库或者指定一个已经存在的库 #切换到该库下 创建表 #然后再操作记录 create database db1; create table userinfo(id int,name char(32),password int); #增 insert into userinfo values(1,'jason',123); #插入单条数据 insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123); #插入多条数据 #查 select * from userinfo; #查询所有的字段信息 select name from userinfo; #查询指定字段信息 select id,name from userinfo where id=1 or name=tank; #带有筛选条件的字段信息 #改 update userinfo set name='kevin' where id=1; #修改数据的一个字段信息 update userinfo set name='jason',password=666 where id=1; #修改数据的多个字段 #删 delete from userinfo where id =1; #指定删符合条件的数据 delete from userinfo; #将表中的数据全部删除
安装时遇到的问题
''' 将mysqld制作成系统服务 输入命令mysqld --install 出现问题The service already exists(该服务已存在) 这是由于之前已经安装过mysql并且没有删除干净导致的 重新以管理员身份运行,输入sc query mysql,查看一下名为mysql的服务 命令sc delete mysql,删除该mysql 之后就可以正常安装了 '''