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 ...
随机推荐
- 消息队列MQ对比
1.ActiveMQ 是Apache下的一个子项目. 类似于ZeroMQ,它能够以代理人和点对点的技术实现队列.同时类似于RabbitMQ,它少量代码就可以高效地实现高级应用场景.RabbitMQ.Z ...
- Vue项目中使用基于Vue.js的移动组件库cube-ui
cube-ui 是滴滴公司的技术团队基于 Vue.js 实现的精致移动端组件库.很赞,基本场景是够用了,感谢开源!感谢默默奉献的你们. 刚爬完坑,就来总结啦!!希望对需要的朋友有小小的帮助. (一)创 ...
- 计算int数组中的最大,最小,平均值
public static void testNumber(int[] arr) { int max = arr[0]; int min = arr[0]; int avg = 0; int sum ...
- Leetcode#88. Merge Sorted Array(合并两个有序数组)
题目描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m ...
- Django详细流程
一.设计表结构 我们以学生管理系统为例,讲解一下Django的基本操作.首先要设计一下表的结构,这里就不多解释 班级表结构: 表名:grades 字段:班级名称 gname 成立时间 gdate 女生 ...
- Centos7 安装 tree
Centos7 安装 tree 用命令 yum 安装 tree yum -y install tree
- Django模型层-单表操作
ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...
- VUE项目的目录关系
1.页面中只有一个index.html. 2.一个js文件.在路由中. 3.主要的app.vue. 4.最后就是可以放多个vue文件的~~(一个页面对应一个vue文件,一个vue组件对应一个js中的i ...
- Thymleaf中th:each标签遍历list如何获取index
简单介绍:传递给后台一个String类型的list,需要获取到list的每一个元素,然后进行筛选,得到正确的文本值,看代码就明白了 代码: //后台java代码//failList是一个String类 ...
- 基于Python+Django重定向的例子
Django源码, 这里HttpResponseRedirect和HttpResponsePermanentRedirect没有太大差别,前者是返回302临时重定向,后者返回301永久重定向 clas ...