python-Web-数据库-mysql
概念:
服务器->数据库管理系统(软件)->数据库(文件夹)->表(文件)
关系型
安装与配置:
>>>下载-安装-环境变量
>>>启动 mysql | net start mysql | 手动
>>>查看启动 tasklist | findstr mysql | netstat -an
>>>本机ID ipconfig
>>>登陆 mysql -h服务器ip -P3306 -u用户名 -p密码
>>>退出 exit | quit | \q
>>>关闭 net stop mysql | tskill mysqld
语句:
>>>定义DDL(data definition language) ---(数据库,表,视图,索引)
>>>操作DML 数据-----(插入数据 insert,删除 delete,更新 update ,查询select)
文件夹----(creat , drop ,alter , show)
>>>控制DCL(grant,revoke,begin transaction,commit,roolback)
>>>数据库操作:
增:create database [if not exists] 库名 character set 编码方式;
删:drop database 库名;
改:alter databasse 库名 character set 编码方式;
查:show database; 所有
Show create database 库名; 一个
>>>表操作:
增:create table [if not exists] 表名(字段 数据类型[约束],....)
删:drop table 表名
改:alter table 表名
增加字段
alter table 表名 add [colum] 字段名 数据类型 [约束]
修改字段名
alter table 表名 change 字段名 新字段名 数据类型 [约束]
删除字段
alter table 表名 drop [colum] 字段名
更改表名
alter table 表名 rename [to] 新表名
查:show tables 查看当前数据下有哪此数据表
show create talbe 表名 查看建表信息
desc 表名 查看表结构
>>>数据操作:
增:insert into 表名 [(字段名1,字段名2,…字段名n)] VALUES(‘值1’,‘值2’,…,’值n’);
删:delete from 表名 [where 条件子句] [order by 字段 asc|desc ] [limit 条数]
Truncate table 表名;删除所有
改:update 表名 set 字段名=新值,字段名=新值,....... [where 条件子句] [order by 字段 asc|desc ] [limit 条数]
查:select 字段1,字段2,...... from 表名 [where 条件子句] [group by 字段][order by 字段] [limit [起始值] 条数]
>>>约束:
非空约束 not null
主键约束 primary key
唯一约束 unique key
默认约束 default
>>>比较操作符:
=,<=>,!=,<>,<,<=,>,>=,is null,is not null,a between b and c,like 匹配,模糊匹配%_,a in (,,,)
>>>逻辑操作符:
And,&& or,|| xor not,!
>>>Alias 别名:
SELECT 字段名 AS 别名 FROM 表名
SELECT * FROM 表名 AS 表别名
>>>distinct 去重复:
SELECT DISTINCT 字段名称 FROM 表名称
>>>聚合函数:
avg() 平均值
count() 总记录数,不包括null
max() 最大值
min() 最小值
sum() 求和
时期函数:
now()
curdate()
curtime()
数学函数:
ABS()绝对值
ceil() 向上取整
floor 向下取整
round() 四舍五入
rand() 随机数
mod() 取余
加密函数:
password()
md5()
>>>连接类型:
多表查询:select 字段列表 from 表1,表2,表3...... where 连接条件1 and 连接条件2 .......
内连接:inner join
外连接:left join|right join select 字段列表 from 表1 join 表2 on 连接条件 显示条件
>>>备份还原:
mysqldump -h服务器 -P端口 -u用户名 -p密码 数据库名称 > 备份文件路径
source 备份文件路径(需要先登录到mysql 并且 use数据库)
>>>权限:
创建用户 create user 用户名@服务器名称 identified by “密码”
删除用户 drop user 用户名@服务器名
修改密码 set password [for 用户名@服务器名] =password('新密码')
授权 grant 权限列表 on 对象列表 to 用户@服务器
权限列表:all,create,alter,insert,delete,update,select,index,drop,grant....
对象列表:库名.表名,库名.*,*.*
撤权 revoke 权限列表 on 对象列表 from 用户列表@服务器
查看权限 show grants for 用户名@服务器名
刷新权限 flush privileges
>>>视图:create view 视图名称 as select语句 从已经存在的表中查询得来的一张虚拟表
>>>触发器:使用触发器可以定制用户对表进行【增、删、改】操作时前后的行为,注意:没有查询
>>>存储过程:CREATE PROCEDURE 过程名(参数名 数据类型,...) 过程体
>>>事务:事务具备4种特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)
rollback回滚
python-Web-数据库-mysql的更多相关文章
- python读取数据库mysql报错
昨天在学习PYTHON读取数据库的知识时,一直在报错,找不到原因. 最后同事说是语法错误. import sysreload(sys)sys.setdefaultencoding('gb18030') ...
- python之数据库(mysql)操作
前言: 最近开始学django了,学了下web框架,顿时感觉又会了好多知识.happy~~ 这篇博客整理写下数据库基本操作,内容挺少.明天写SQLAlchemy. 一.数据库基本操作 1. 想允许在数 ...
- 6-2 python 操作数据库mysql
1.python操作MySQL的 查询(select操作) 步骤 import pymysql # 1.建立数据库连接 conn = pymysql.connect(host='118.24.3.40 ...
- python插入数据库mysql
#-*- coding:utf-8 -*- import MySQLdb #alter table test add index prefixIdx_test(ext(2));//前缀索引 try: ...
- web.py+mysql插入中文提示query = query.encode(charset) UnicodeEncodeError: 'latin-1' codec can't encode characters in position 86-100
对于中文编码的问题,总会出现各种各样恶心的错误,还不知道应该怎么解决,首先,你从最开头就应该关注编码问题,尽量保证所有的编码方式都是一致的 用python+web.py+mysql来写程序,首先要保证 ...
- python web开发——django学习(一)第一个连接mysql数据库django网站运行成功
1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message 4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表 6.运行 ...
- python——django使用mysql数据库(一)
之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...
- Python交互数据库(Mysql | Mongodb | Redis)
数据库 Mysql Mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品 MyS ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
随机推荐
- Elasticsearch: Index template
Index template定义在创建新index时可以自动应用的settings和mappings. Elasticsearch根据与index名称匹配的index模式将模板应用于新索引.这个对于我 ...
- javascript内置对象一:String
<script> //string.split("-"),以字符"-"把string拆分成一个数组.返回一个数组 //array.joi ...
- 【Android】查看内存
[文章来源]http://blog.csdn.net/hudashi/article/details/7050897 查看内存使用的方式有很多种,但是各个方式查看到的结果可能会有微略不同. 方式一 ...
- [Luogu] 宝藏
https://www.luogu.org/problemnew/show/P3959 模拟退火解法 发现prim求最小生成树是明显错误的 因为prim每次要取出边权最小的点 然而在这道T中这样做不一 ...
- 【线性代数】2-1:解方程组(Ax=b)
title: [线性代数]2-1:解方程组(Ax=b) toc: true categories: Mathematic Linear Algebra date: 2017-08-31 15:08:3 ...
- Python装饰器的应用场景
装饰器的应用场景 附加功能 数据的清理或添加: 函数参数类型验证 @require_ints 类似请求前拦截 数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改 为函数提供额外的数据 ...
- csp-s模拟80(b)
头一次中午考试,上来一看三个题目以为是三个板子,但一看数据范围就不对劲. T1: 考场上的想法是:找出循环节,对于数组一头一尾的不在循环节中的,维护出以某数结尾/开头的上升序列,对于中间的循环部分只取 ...
- ubuntu 安装eclipse for c++
linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大.linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行linux ...
- 微信小程序swiper禁止用户手动滑动
最近做一个项目,由于用到了竖向swiper,导致占用屏幕过大,用户滑动总是滑动到swiper组件,页面无法向下拉动,于是找各种办法禁止用户手动滑动swiper组件. 经过网上一番查找,网友们也是闹洞大 ...
- DS博客作业07—查找
1.本周学习总结 1.1思维导图 1.2学习体会 本章学习了顺序表.树表.哈希表的查找方式,学会计算各种查找方式下的ASL 树表部分的b树和平衡二叉树较为复杂,哈希表相对容易掌握 期末要复习的有点多, ...