时间:2021-07-01 10:21:17 帮助过:2人阅读
- <strong><span style="font-size: 16px">1.什么是数据库 *****</span></strong><br><span style="font-size: 15px"> 存放数据的仓库</span><br><span style="font-size: 15px"> 已学习的文件操作的缺陷:</span>
1.IO操作多,效率问题
2.多用户竞争数据,安全问题
3.数据不能同步
4.不同机器间网络访问数据
5.用户的验证
- <br><strong><span style="font-size: 16px">2.常见的数据库</span></strong><br><span style="font-size: 15px"> 关系型 数据之间存在某种关联关系</span><br><span style="font-size: 15px"> oracle</span><br><span style="font-size: 15px"> 目前最好关系型数据库,体现在用户管理,分布式</span><br><span style="font-size: 15px"> 商业用途收费</span><br><span style="font-size: 15px"> mysql</span><br><span style="font-size: 15px"> 免费开源,功能支持没有oracle强 但是足以满足中小企业使用</span><br><span style="font-size: 15px"> 先后被sun 和 oracle 收购</span><br><span style="font-size: 15px"> mysql创始人wedenius担心 mysql会闭源 于是另起灶炉 搞了marriaDB</span><br><span style="font-size: 15px"> mariaDB和mysql 使用方法一模一样</span><br><span style="font-size: 15px"> sqlServer</span><br><span style="font-size: 15px"> 属于微软生态链,需要和windows配合使用</span><br><span style="font-size: 15px"> DB2</span><br><span style="font-size: 15px"> IBM开发的大型关系型数据库 ,收费的,通常与硬件捆绑销售</span><br><br><span style="font-size: 15px"> 非关系型 数据以key -value的形式来存储,数据存在内存中,速度快,断电丢失,存储空间小</span><br><span style="font-size: 15px"> mongoDB</span><br><span style="font-size: 15px"> redis</span><br><span style="font-size: 15px"> memercach</span><br><br><span style="font-size: 15px"><strong>3.数据库的相关概念 ******</strong></span><br><span style="font-size: 15px"> age = 18</span><br><span style="font-size: 15px"> 一个变量,无法描述清楚数据</span><br><span style="font-size: 15px"> 1.称之为一个字段</span><br><span style="font-size: 15px"> age = 18,name = Jack,genger = man<br></span><br><span style="font-size: 15px"> 一堆变量在一起,可以描述清楚数据</span><br><span style="font-size: 15px"> 2.称之为一条记录,对应着文件中的一行<br></span><br><span style="font-size: 15px"> 文件需要分门别类,每个文件存储不同的数</span><br><span style="font-size: 15px"> 3.一个文件称之为表<br></span><br><span style="font-size: 15px"> 文件越来越多,得分文件夹</span><br><span style="font-size: 15px"> 4.一个文件称之为库</span><br><br><span style="font-size: 15px"> 数据库中包含所有内容:</span><br><span style="font-size: 15px"> 字段(列)</span><br><span style="font-size: 15px"> 记录</span><br><span style="font-size: 15px"> 表</span><br><span style="font-size: 15px"> 库</span><br><span style="font-size: 15px"> DBMS:数据库管理系统</span><br><span style="font-size: 15px"> 数据库服务器</span><br><span style="font-size: 15px"> 一个库可以包含多个表,一个表可以包含多条记录,一条记录中有多个字段</span><br><br><span style="font-size: 15px"> 数据库是什么,本质上就是一套C/S架构得socket软件</span><br><br><strong><span style="font-size: 16px">4.安装数据库与配置使用环境 ***</span></strong><br><span style="font-size: 15px"> 1.界面版本 傻瓜式安装,记住密码</span><br><span style="font-size: 15px"> 2.绿色解压版</span><br><span style="font-size: 15px"> 1.5.7以后的版本需要先初始化 mysqld --initialize-insecure</span><br><span style="font-size: 15px"> 2.启动需要先进入安装目录,比较麻烦,需要添加到环境变量</span><br><span style="font-size: 15px"> 打开环境变量,将mysql安装目录下的bin加入path变量</span><br><span style="font-size: 15px"> 3.将mysqld加入到windows的系统服务</span><br><br><strong><span style="font-size: 16px">5.绿色版修改默认密码</span></strong><br><span style="font-size: 15px"> 一:修改默认密码需要先登录成功</span><br><span style="font-size: 15px"> 执行update语句直接修改,user表中的密码</span><br><span style="font-size: 15px"> 5.7</span><br><span style="font-size: 15px"> update mysql.user set authentication_string = password("root") where user = "root";</span><br><span style="font-size: 15px"> 5.6</span><br><span style="font-size: 15px"> update mysql.user set password = password("root") where user = "root";</span><br><br><span style="font-size: 15px"> 二:修改密码方式,不需要登录,需要知道旧密码</span><br><span style="font-size: 15px"> mysqladmin -uroot -p旧密码 password 123</span><br><br><span style="font-size: 15px"> 三:破解密码,当忘记密码时 无法登录 也就不能值执行update语句</span><br><span style="font-size: 15px"> 思路:</span><br><span style="font-size: 15px"> 1.启动服务器时 控制它不要加载授权表</span><br><span style="font-size: 15px"> 2.无密码登录服务器</span><br><span style="font-size: 15px"> 3.执行update mysql.user set authentication_string = password("root") where user = "root"</span><br><span style="font-size: 15px"> 4.重启服务器</span>
- <span style="color: #000000"><strong>用到的系统指令:</strong>
- mysqld 直接运行服务器程序
- mysqld </span>--skip-grant-<span style="color: #000000">tables 跳过授权表,用于重设密码
- tasklist </span>| findstr mysqld taskkill /f /<span style="color: #000000">pid 结束服务器程序
- mysql </span>-u用户名 -p密码 -h主机地址 -<span style="color: #000000">P端口号 运行客户端程序
- mysqld </span>--<span style="color: #000000">install 将mysqld注册当windows服务中,在服务中叫MySQL
- windows服务就是绑定了一个exe程序
- sc delete mysql 删除windows服务中的mysql
- exit 退出客户端</span>
- <strong><span style="font-size: 16px">6.简单的sql语句 *****</span></strong><br><span style="font-size: 15px; background-color: #ffff00"> 针对库的相关操作:</span><br><span style="font-size: 15px; color: #ff0000"> 增</span><br><span style="font-size: 15px"> create database 库名称</span><br><span style="font-size: 15px; color: #ff0000"> 删</span><br><span style="font-size: 15px"> drop database 库名称</span><br><span style="font-size: 15px; color: #ff0000"> 改</span><br><span style="font-size: 15px"> alter database 库名称 要改的属性名称</span><br><span style="font-size: 15px"> alter database db1 DEFAULT CHARACTER SET utf8;</span><br><span style="font-size: 15px"> (alter database db1 CHARSET utf8;)</span><br><span style="font-size: 15px"> 注意 在mysql中 utf-8 不能带- 写成utf8</span><br><span style="font-size: 15px; color: #ff0000"> 查</span><br><span style="font-size: 15px"> show databases:查看所有数据库</span><br><span style="font-size: 15px"> show create databases 库名称:查看自己的建库</span><br><span style="font-size: 15px"> 命名规范:</span><br><span style="font-size: 15px"> 1.不能使用纯数字</span><br><span style="font-size: 15px"> 2.可以是数字 字母 下滑线的组合</span><br><span style="font-size: 15px"> 3.可以下滑线开头</span><br><span style="font-size: 15px"> 4.不能是关键字 如create</span><br><span style="font-size: 15px"> 大致和python相同</span><br><span style="font-size: 15px"> 不区分 大小写</span><br><span style="font-size: 15px; background-color: #ffff00"> 表相关的操作:</span><br><span style="font-size: 15px; color: #ff0000"> 增</span><br><span style="font-size: 15px"> 建表时要明确数据库</span><br><span style="font-size: 15px"> use db1;</span><br><span style="font-size: 15px"> create table 表名称(字段名 类型(长度),....)</span><br><span style="font-size: 15px"> create table dog(nikename char(10),gender char(1),age int)</span><br><span style="font-size: 15px"> #创建时同时指定数据库</span><br><span style="font-size: 15px"> create table 库名称.表名称(字段名 类型(长度),....)</span><br><span style="font-size: 15px; color: #ff0000"> 删</span><br><span style="font-size: 15px"> drop table 表名;</span><br><span style="font-size: 15px; color: #ff0000"> 改</span><br><span style="font-size: 15px"> alter table 表名称 drop|change|modify|add</span><br><span style="font-size: 15px"> drop 字段名称</span><br><span style="font-size: 15px"> alter table dog drop color;</span><br><br><span style="font-size: 15px"> change 旧的字段名 新的字段名 新的类型</span><br><span style="font-size: 15px"> alter table dog change gender sex char(2);</span><br><br><span style="font-size: 15px"> modify 字段名 新的类型:改类型</span><br><span style="font-size: 15px"> alter table dog modify color char(5);</span><br><br><span style="font-size: 15px"> add 字段名称 类型</span><br><span style="font-size: 15px"> alter table dog add color char(10);</span><br><span style="font-size: 15px"> 重命名表</span><br><span style="font-size: 15px"> rename table 旧表名称 to 新表名称</span><br><span style="font-size: 15px"> rename table dog to dogtable;</span><br><br><span style="font-size: 15px"> 修改表的属性</span><br><span style="font-size: 15px"> alter table 表名 属性名 值;</span><br><span style="font-size: 15px"> alter table dogtable DEFAULT CHARSET gbk;</span><br><span style="font-size: 15px; color: #ff0000"> 查</span><br><span style="font-size: 15px"> show tables;查看所有表</span><br><span style="font-size: 15px"> desc 表名称; 查看表结构</span><br><span style="font-size: 15px"> show create table 表名;查建表语句</span><br><span style="font-size: 15px; background-color: #ffff00"> 记录相关操作:</span><br><span style="font-size: 15px; color: #ff0000"> 增</span><br><span style="font-size: 15px"> insert into 表名 values(值1,值2.....)</span><br><span style="font-size: 15px"> insert into dog valuse("大黄",1,1,"黄色");</span><br><span style="font-size: 15px; color: #ff0000"> 删</span><br><span style="font-size: 15px"> delete from 表名 where 字段名称 = 值</span><br><span style="font-size: 15px"> 没有条件的话删除表内全部数据</span><br><span style="font-size: 15px; color: #ff0000"> 改</span><br><span style="font-size: 15px"> update 表名 set 字段名 = 新的值 where 字段名 = 值</span><br><span style="font-size: 15px"> 没有条件的话修改全部</span><br><span style="font-size: 15px; color: #ff0000"> 查</span><br><span style="font-size: 15px"> select * from 表名; *表示通配符 查看所有字段</span><br><span style="font-size: 15px"> select 字段名称1,字段名2.. from 表名;</span><br><br><strong><span style="font-size: 16px">7.修改默认编码</span></strong><br><span style="font-size: 15px"> 配置文件放在安装路径根目录中 就是和bin同级 名称必须叫my.ini</span><br><span style="font-size: 15px"> #客户端的配置</span><br><span style="font-size: 15px"> [client]</span><br><span style="font-size: 15px"> #mysql这个客户端的配置</span><br><span style="font-size: 15px"> [mysql]</span><br><span style="font-size: 15px"> user = root</span><br><span style="font-size: 15px"> password = root</span><br><span style="font-size: 15px"> default-character-set = utf8</span><br><span style="font-size: 15px"> #服务器端的配置</span><br><span style="font-size: 15px"> [mysqld]</span><br><span style="font-size: 15px"> character-set-server = utf8</span><br><br><strong><span style="font-size: 16px">8.数据库的引擎 ***</span></strong><br><br><br><strong><span style="font-size: 16px">9. mysql版本5.6 与5.7的区别</span></strong><br><span style="font-size: 15px"> 1. 5.7需要初始化</span><br><span style="font-size: 15px"> 2. 5.6游客模式,没有密码可以登录,但是无法操作数据</span><br><span style="font-size: 15px"> 只能看到 information_schema mysql</span><br><span style="font-size: 15px"> 3. 5.7中 data数据存放目录是由初始化时决定</span><br><span style="font-size: 15px"> 带界面的,在C:\ProgramData中</span><br><span style="font-size: 15px"> 不带界面的就在安装目录中</span><br><span style="font-size: 15px"> 5.6就在安装目录中</span><br><span style="font-size: 15px"> 4. 密码存储字段名:在5.6中时password,5.7中叫authentication_string</span>
数据库
标签:utf8 关系型数据库 属性 字段名 ring 字段 ini 管理系统 地址