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 ...
随机推荐
- CSS盒模型(Box Model)
阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀 ...
- springMVC中controller的几种返回类型
==网文1,还不错,感觉比较老旧springMVC中controller的几种返回类型 - CSDN博客http://blog.csdn.net/qq_16071145/article/details ...
- 基于 Webhooks gitlab 自动化构建
基于gitlab webhooks 自动构建流程 1.服务器安装 git 服务 安装成功 配置 PHP 脚本: <?php // 接受头部信息 if (!isset($_GET['youpara ...
- 最清晰易懂的UML类图与类的关系详解
虚线箭头指向依赖: 实线箭头指向关联: 虚线三角指向接口: 实线三角指向父类: 空心菱形能分离而独立存在,是聚合: 实心菱形精密关联不可分,是组合: 上面是UML的语法. 在画类图的时候,理清类和类之 ...
- 【原创】Linux基础之SSH秘钥登录
官方:https://www.ssh.com/ssh/ The SSH protocol uses encryption to secure the connection between a clie ...
- 解决 Composer-Setup.exe 安装过程中的报错
问题 在 Windows 7 执行 Composer-Setup.exe 以安装 Composer 过程中 上图中点击[Next]时,出现如下报错信息 原因分析 由上述提示信息,可推测两方面原因: 1 ...
- Vue父子组件之间的相互通信
组件是Vue知识体系中最重要的一部分之一,父子组件由于作用域的不同,无法直接对对方的数据进行操作.它们之间的数据传递都是通过中间介质进行的,父组件给子组件传值是通过props属性,而子组件给父组件传值 ...
- cf55D 数位dp记忆化搜索+状态离散
/* 漂亮数定义:可以整除任意数位上的数 求出区间[l,r]之间的漂亮数个数 因为 dp[i][j][k]:i位前模lcm的值是j,i位前lcm是k的漂亮数个数 */ #include<bits ...
- 关于在windows上远行的虚拟机为ubuntu16.04中不能复制和粘贴的问题解决方案
Linux安装 VMware tools 工具解决复制和粘贴的方法 VMware虚拟机中如何安装VMWare-Tools详解好处:可以支持图形界面,可以支持共享文件功能等 1 工具/原料 1)安装过虚 ...
- @PathVariable出现点号"."时导致路径参数截断获取不全的解决办法
@PathVariable出现点号"."时导致路径参数截断获取不全的解决办法 比如,我路径是/test/{name},name的值是1.2.3.4,后台用@PathVariable ...