一、数据库概念:
1.随意的存到一个文件中,数据费事也是千差万别的
2.软件开发目录规范:规定了数据存放的位置
数据都是保存在本地的
3.将保存数据的部分,存放到一个公共的地方,所有的用户设计到数据相关,都必须老这个公共地方查找。
数据库是MySQL
本质就是一款基于网络通信的应用软件
任何基于网络通信的软件,底层都是socket
服务端:
-基于socket通信
-手法消息
-SQL语句(是一个公共的标准)
客户端
-基于socket通信
-收发消息
-SQL语句
ps:MySQL不单单支持MySQL的客户端来操作,也支持其他编程语言直接操作
二、DBMS:数据库管理系统
1.关系型数据库:数据与数据之间可以有关联和限制的
关系型数据库通常都是表结构,也就意味着在用关系型数据库的时候,第一步就是确定表结构
字段有特定的类型
存名字用字符串
存密码用数字
存生日用日期
MySQL,Oracle,sqlite,db2, sql server
2.非关系型数据库
通常都是以K,V键值的形式存储数据
redis,mongodb(文档型数据库,非常接近关系型的菲关系数据),memcache
三、MySQL运用
1.MySQL其实可以看成一款支持远程操作文件的软件
库 》》》 文件夹
表 》》》 文件
记录 》》》 文件内一行行的数据叫做一条条记录
表头——表格内的第一行数据
字段——字段名+字段类型
2、安装MySQL
2.1PS:在在IT行业内,不要轻易的尝试最新版本的软件
2.2 前期MySQL配置的时候,终端简易用管理员的生运行
window+r 启动的是普通用户
mysql在初始登陆的时候,是没有密码,直接回车即可
mysql中的sql语句,以分号结束,不敲分号默认没有输入完
3、简单操作
3.1客户端登陆
mysql -h 127.0.0.1 -p3306 -uroot -p (简写:mysql -uroot -p)
如果不输入用户名和密码,默认是访客模式登陆,所能用到的功能很少
3.2.客户端退出登陆
exit;
quit;
3.3查看所有的数据库
show databases;
3.4查看某个进程
tasklist |dindstr 名称
3.5杀死进程
taskkill /F /PID 进程号
4、制作环境变量:将机器动文件所在路径添加到系统环境变量中
将mysql制作成系统服务,cmd终端一定要是管理员身份
指令:mysqld --install
5、修改密码
没有密码的情况下
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服务端
6、ini配置文件:
# 配置文件 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8 ‘‘‘ \s查看 mysql服务端简单配置 通常情况下配置文件的后缀都是ini结尾 mysql自带的配置文件不要修改 但是你可以新建一个配置文件 my.ini mysql服务端在启动就会自动加载你的my.ini配置文件内的配置 修改完配置文件之后需要先将服务端停止 重新启动 才能生效 修改了配置文件一定要重启服务端 ‘‘‘
三、数据库的基本操作
文件夹名 db1
文件名 userinfo
增 | 查 | 改 | 删 | |
库(类似于文件夹) | create database db1 | show databases(查所有) show create database db1(查单个) |
alter database db1charset=‘gbk’(修改编码) | drop database db1(删库) |
表(文件) | create table userinfo(id int,name char) |
show tables(查看某库所有的表) desc userinfo <==> describle userinfo (显示表结构) |
alter table userinfo modify name char(32) | drop table userinfo |
记录(文件数据) |
insert into userinfo values(1,‘name‘,123); (插入单挑数据) insert into userinfo values(1,‘name1‘,123),(1,‘name2‘,123) (插入多条数据) |
select * from userinfo (查询所有字段信息) select name from userinfo (查询指定字段信息) select id,name from userinfo where id=1 or name=Tom (带有筛选条件的字段信息) |
udpate userinfo set name=‘Tom‘ where id=1 (修改数据一个字段信息) update userinfo set name=‘Tom‘,password=123 where id=1 修改数据的多字段信息 |
delete from userinfo where id=1 (指定删除符合条件的数据) delete from userinfo (将表中的数据全部删除) |
ps:在创建表的时候,需要先指定库
指定库:use 库名
查看当前所在的库:select database()
原文:https://www.cnblogs.com/xiaowangba9494/p/11370350.html