数据库1 基础介绍 待改

1. 什么是数据库
存放数据的仓库
mysql一种DBMS
数据库是什么,本质上就是一套C/S的socket软件
1.1 已学习的文件操作的缺陷
1.IO操作 效率问题
2.多用户竞争数据
3.网络访问
4.用户的验证

为什么使用mysql : 免费开源 能够支持中小企业使用

1.2 常见数据库:
关系型:数据之间存在某种关联关系
oracle :
目前最好的关系型数据库,体现在用户管理,分布式
商业用途收费
mysql :
免费开源,功能支持没有oracle强 但是足以满足中小企业使用
先后被 sun 和 oracle 收购
mysql创始人wedebius 担心 mysql会闭源 于是另外写marriaDB
marriaDB和mysql 使用方法一模一样
sqlServer :
属于微软生态链,需要和windows配合使用
DB2 :
IBM开发的大型关系数据库 ,收费的 通常与硬件捆绑销售

非关系型: 数据 以key_value的形式来存储 数据存在内存中 速度快
mongoDB :
radis :
memercach :



2.数据库的相关概念
age=1
一个变量 无法描述清楚数据
称之为字段

age=18,name=Jack,genger=man
一堆变量在一起,可以描述清楚数据
称之为一条记录 对应着文件中的一行

文件需要分门别类 每个文件存储不同的数据
一个文件称之为表
文件越来越多 得分文件加
一个文件夹称之为库

数据库中包含的所有内容
字段(列)(单个数据)
记录 (一个完整数据)
表 (文件)
库 (文件夹)
DBMS 数据库管理系统
数据库服务器
一个库可以包含多个表 一个表可以包含多条记录 一条记录中可以有多个字段



3.安装数据库与配置使用环境
cmd中输入mysql的文件路径bin
mysql _P3306 _uroot _p(后面加密码 无不输入)
1.带界面的 傻瓜式安装 需要记住密码
2.绿色解压版
1. 5.7以后的版本需要先初始化 mysqld __initialize-insecure
2. 启动需要先进入安装目录 比较麻烦 需要添加到环境变量
打开环境变量 将mysql安装目录下的bin加入path变量
3. 将mysqld 加到windows 的系统服务





4.修改绿色版的默认密码
知道初始密码:
启动:需要先登陆成功tasklist |findstr mysqld
登陆:net start mysql
5.6修改密码:mysql>update mysql.user set password=password("admin")where user="root"and host="localhost"
5.7中的话 mysql>update mysql.user set authentication_string=password("admin")where user="root"and host="localhost"
停止:net stop mysql
强制终止: taskkill | f | pid | 9990

破解密码,当忘记密码时 无法登陆 也就不能执行update语句
思路:启动服务器时 控制它不要加载授权表
1. 跳过授权表登陆 mysqld __skip__grant__tables
2. 无密码登陆服务器
3. 在5.7中的话 mysql>update mysql.user set authentication_string=password("admin")where user="root"and host="localhost"
4. 重启服务器



mysqld 直接运行服务器程序
mysqld __skip_ grant_tables 跳过授权表 用于重置密码
tasklist|findstr mysqld taskkill /f /pid 结束服务器程序
mysql 运行客户端程序 _u用户名 _p密码 _h主机地址 _p端口号
mysqld__install 将mysqld注册当windows服务中 在服务中叫MySQL
windows就是绑定了一个exe程序

sc delete mysql 删除windows服务

show databases : 查看数据库
exit :退出客户端
desc :查看表结构
mysqld --install 创建windows服务

1.需要先登陆成功才可以修改密码
5.6修改密码:mysql>update mysql.user set password=password("admin")where user="root"and host="localhost"
5.7中的话 mysql>update mysql.user set authentication_string=password("admin")where user="root"and host="localhost"

2.方式2 不需要登陆 需要知道旧的密码
mysqlasmin -u(root旧密码) -poot password("xxx")




5.简单的sql语句
针对库的相关操作
增:create database db1(库名);创建数据库
删:drop database db1(库名) 删除数据库
改:alter database db1(库名) 要改的属性名称
alter database db1(库名)DEFAULT CHARACTER SET utf8;
alter database db1(库名)CHARSET utf8;
注意:在mysql中 utf-8 不能带由- 需要写成utf8
查:show database 查看所有数据库
show create database db1(库名);查看建库的语句
desc xx(表名)只能查看表


命名规范:
1.不能使用纯数字
2.可以是数字 字母 下划线组合
3.可以下划线开头
4.不能是关键字 如creata
大致和python相同
不区分大小写



表相关的操作
增 :在建表时要明确数据库:
use db1(字段名称);
create table 表名称(字段名 类型(长度),....)
create table dog(nikename char(10),age int)
#创建时同时指定和数据库
create table 库名称.表名称(字段名 类型(长度),.....)

删 :drop table 表名;

改 :alter table 表名称 drop |change |modify |add
drop: 字段名称
change: 旧的字段名称 新的字段名称 新的类型
modify: 字段名 新的类型
add: 字段名称 类型
重命名表:
raname 酒标名称 to 新表名称

修改表的属性:
alter table 表明 属性名 值;
alter table dogtable DEFAULT CHARSET gbk;

查 :show tables; 查看所有表
desc 表名称; 查看表结构
show create table 表名;查建表语句



记录相关操作:
增:inert into 表名 values(值1,值2....)
删:delete from 表名 where 字段名称=值
没有条件的话就删除全部数据
改:update 表名 set 字段名=新的值 where 字段名称=值
没有条件的话就全部修改
查:select *from 表名;*表示通配符 查看所有字段
select 字段名称1 ,字段名2......from 表明;






6. 修改默认的编码:
\s 查看配置信息
配置文件放在安装路径根目录中 就是和bin同级 名称必须叫 my.ini
#客户端的配置
[client]
#mysql这个客户端的配置
[mysql]
user=root
password=root
default-character-set=utf8
#服务器端的配置
[mysqld]
character-set-server=utf8












7. 5.6与5.7的区别
1. 5.7需要初始化
2. 5.6游客模式 没有密码可以登陆 但是无法操作数据
只能看到 information_schema mysql
3. 5.7中data数据存放目录 是由初始化时决定的
带界面的 在C:\ProgramData中
不带界面的就在安装目录中
5.6就在安装目录中
4. 密码存储字段名 在5.6中时用password 在5.7中时用authentication_string




8. 数据库的引擎 待补充:

猜你喜欢

转载自www.cnblogs.com/yanhui1995/p/9982955.html