python全栈开发 * mysql * 180828
一.mysql概述
\s 查看当前自己的信息
1.mysql就是用于管理我们的文件的一个软件;
2.mysql有两个软件:
服务器软件:
socket服务端
本地文件操作
解析指令(mysql语句)
客户端软件:
socket客户端
发送指令
解析指令(mysql语句)
3.什么是数据(data)
描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,
它们都可以经过数字化后存入计算机
4.什么是数据库(DataBase 简称DB)
数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的
5.什么是数据库管理系统(DataBase Management System)
在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键,这就用到了一个系统软件---数据库管理系统
如MySQL、Oracle、SQLite、Access、MS SQL Server
mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨
文公司的产品。
oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品
sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。
6.数据库服务器 数据管理系统 数据库 表与记录的关系
记录:1 xxx 324245234 22(多个字段的信息组成一条记录,即文件中的一行内容
表:student, school,(文件)
数据库:文件夹
数据库管理系统:如mysql(是一个软件)
数据库服务器:一台计算机
数据库服务器:运行数据库管理软件
数据库管理软件:管理-数据库
数据库:即文件夹,用来组织文件/表
表:即文件,用来存放多行内容/多条记录
二.MySql安装和基本管理
1.mysql的安装和启动
MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据
库管理系统) 应用软件之一。
2.mysql是什么?
mysql就是一个基于socket编写的C/S架构的软件
3.数据库管理软件分类
(1)关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
(2)非关系型:mongodb,redis,memcache
关系型数据库需要有表结构
非关系型数据库是key-value存储的,没有表结构.
4.mysql的下载安装
想要使用MySQL来存储并保存数据,则需要做几件事情:
a. 安装MySQL服务端
b. 安装MySQL客户端
b. 【客户端】连接【服务端】
c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)
下载地址:https://dev.mysql.com/downloads/mysql/
5. window版本
(1)解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,
(2)添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》将文件路径添加进去
(3)初始化
命令: mysqld --initialize-insecure
(4).启动mysql服务
命令:mysqld 启动MySql服务
(5).启动mysql客户端并连接mysql服务端(新开一个cmd窗口)
命令:mysql -u root -p 连接MySQL服务器
6.MySQL服务制作成windows服务
(1)背景因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题,即将MySQL服务制作成windows服务
(2)注意:
--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.6.40-winx64\bin\mysqld" --install # 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
# 关闭MySQL服务
net stop mysql
相关命令:
查看所有的数据库: show database
使用数据库 use 数据库的名字
查看所有的show tables;
7.设置初始密码
在终端执行 mysqladmin -uroot -p password "123"(如下图所示)
重新登录mysql即生效
修改初始密码:
(1)在终端执行 mysqladmin -uroot -p"123" password "456" 将123 修改为456;
(2)mysql -uroot -p456 登录
8. 破解密码
1.以管理员身份打开cmd
2.停掉mysql服务端; net stop mysql
3.执行如下命令跳过授权表
mysqld --skip-grant-tables
4.客户端连接服务端 新开一个cmd 并连接
mysql -uroot -p
5.现在可以任意的更改密码,执行如下命令
update mysql.user set authentication_string =password('') where User='root';
6.刷新权限,执行命令
flush privileges;
7.退出mysql。执行命令:exit
8.让用户去加载权限,以管理员身份进入cmd,查看当前mysql进程
9.杀死当前的进程,执行如下命令;
10.再次执行如下操作,还原
9.统一字符编码
1.在C:\mysql-5.7.23-winx64\mysql-5.7.23-winx64当前的目录下 新建一个my.int
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\mysql-5.7.23-winx64\mysql-5.7.23-winx64 # 这个目录一定是自己电脑上的安装mysql目录
# 设置mysql数据库的数据的存放目录
datadir=C:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\data # 这个目录一定是自己电脑上的安装mysql数据目录
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 2.net stop mysql
再开启 让my.ini文件配置生效
net start mysql 3.mysql -uroot -p 执行 \s; 查看数据库配置
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
三.初始mysql语句
1.操作文件夹(库)
(1)增 create database db1
(2)查 show create database db1
查所有的数据库 show databases
(3)改 alter database db1
(4)删 drop database db1;
2.操作文件(表)
use db1 切换文件夹
select database() 查看当前所在文件夹
(1)增 create table t1(id int,name char)
(2)查
#查看当前的这张t1表
show create table t1; # 查看所有的表
show tables; # 查看表的详细信息
desc t1;
(3)改
# modify修改的意思
alter table t1 modify name char(6);
# 改变name为大写的NAME
alter table t1 change name NAMA char(7);
(4)删
# 删除表
drop table t1;
3.操作文件内容(记录)
(1)增
插入一条数据,规定id,name数据
insert t1(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");
(2)查
select id from db1.t1;
select id,name from db1.t1;
select * from db1.t1;
(3)改
update db1.t1 set name='zhangsan';
update db1.t1 set name='alex' where id=2;
(4)删
delete from t1;
delete from t1 where id=2;
python全栈开发 * mysql * 180828的更多相关文章
- python全栈开发 * mysql数据类型 * 180829
* 库的操作 (增删改查)一.系统数据库查看系统库命令 show databases1.information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列 ...
- Win10构建Python全栈开发环境With WSL
目录 Win10构建Python全栈开发环境With WSL 启动WSL 总结 对<Dev on Windows with WSL>的补充 Win10构建Python全栈开发环境With ...
- python全栈开发目录
python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
随机推荐
- [再寄小读者之数学篇](2014-06-20 求极限---Jordan 不等式的应用)
证明: 当 $\lm<1$ 时, $\dps{\lim_{R\to+\infty} R^\lm\int_0^{\pi/2} e^{-R\sin\tt}\rd \tt=0}$. 证明: 由 $$\ ...
- 项目实战 redis 缓存
1 首先在你的项目中,引用以下ServiceStack.Redis相关的四个类库.或者通过Nuget进行安装Redis常用组件ServiceStack.Redis. 下载示例代码. 2. 创建一个Re ...
- Hello jna
记录下这几天用jna3.5.0调c++写的dll的经历 os:win7 用jna调dll首先需要一个dll文件并有可调的方法,然后根据方法的名称,参数,返回值编写一个interface c++需要包含 ...
- Synchronized 和 Volatile
Synchronized : 称为重量级锁,经过优化后,也没那么重了 一.CAS 1.CAS:Compare and Swap, 翻译成比较并交换. 2.java.util.concurrent包中借 ...
- css的transform属性让子元素在父元素里面垂直水平居中
- nginx 配置身份验证 http_auth_basic_module
ngx_http_auth_basic_module模块实现访问必须输入用户名和密码 正确情况向访问,这为我们一些重要资源访问增添了一道安全锁. 语法: auth_basic_user_fil ...
- eclipse编写连接MySQL的简单动态网页
准备工作 下载Tomcat,建议使用最新版.下载并安装MySQL数据库,为了方便操作数据库,可以下载Navicat Premium,最新版不会提示不支持密码加密方式,所以下载最新版.除此之外,要想连接 ...
- redis数据备份与恢复
1.启动redis 进入redis目录 redis-cli 2.数据备份 redis 127.0.0.1:6379> SAVE 该命令将在 redis 备份目录中创建dump.rdb文件. 3. ...
- Canvas 画占比图 解决canvas锯齿 bug
案例如图: <section class=" chartWrap"> <div class="chartContent"> <di ...
- C++线程中的几种锁
线程之间的锁有:互斥锁.条件锁.自旋锁.读写锁.递归锁.一般而言,锁的功能越强大,性能就会越低. 1.互斥锁 互斥锁用于控制多个线程对他们之间共享资源互斥访问的一个信号量.也就是说是为了避免多个线程在 ...