
数据库mysql基础教程
文章平均质量分 79
数据库mysql基础教程
幸福清风
专注python语言
展开
-
1.数据库基本概念知识
数据库存储数据的仓库描述一个事物的基本信息 优点:持久化存储读写速度极高保证数据的有效性 RDBMS当前主要使用两种类型的数据库:关系型数据库、非关系型数据库所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据 关系型数据库核心元素数据行(一条记录,相当于 Python的实例对象)原创 2017-09-19 22:26:49 · 664 阅读 · 0 评论 -
2.数据完整性
使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间 常用数据类型如下:整数:int,bit小数:decimal字符串:varchar,char日期时间: date, time, datetime枚举类型(enum)特别说明的类型如下:decimal表示浮点数,如decimal(5,2)表示共存5位数,原创 2017-09-19 22:27:47 · 601 阅读 · 0 评论 -
3.数据库基本操作
数据库操作:查看所有数据库show databases;使用数据库 use数据库名;查看当前使用的数据库 select database(); 创建数据库create database数据库名charset=utf8;例:create database python charset=utf8; 删除数据库drop database数据原创 2017-09-19 22:28:50 · 651 阅读 · 0 评论 -
4.数据库(增删改查)备份及恢复
查询所有列select * from表名;例:select * from classes;查询指定列,可以使用as为列或表指定别名select列1,列2,...from表名;例:select id,name from classes; 增加全列插入:值的顺序与表中字段的顺序对应insert into表名values(...)例:insert原创 2017-09-19 22:29:55 · 741 阅读 · 0 评论 -
5.数据库设计
三范式经过研究和对使用中问题的总结,对于设计数据库提出了一些规范,这些规范被称为范式数据库设计中一共有6个范式,一般需要遵守3范式即可第一范式(1NF):数据库表的每一列都是不可分割的原子数据项,即列不可拆分第二范式(2NF):建立在第一范式的基础上,要求数据库表中的每个实例或记录必须可以被唯一地区分,即唯一标识第三范式(3NF):建立在第二范式的基础上,任何非主属性不依赖于其原创 2017-09-20 23:01:48 · 337 阅读 · 0 评论 -
6.数据查询(条件
查询所有字段select * from表名;例:select * from students;查询指定字段在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中select列1,列2,... from 表名;--表名.字段名select students.id,students.name,sudents.gender from stud原创 2017-09-20 23:02:33 · 666 阅读 · 0 评论 -
7.排序、聚合函数、分组查询
排序语法:select * from表名order by 列1 asc|desc,列2 asc|desc,...asc从小到大排列,即升序,也可不写;desc从大到小排序,即降序例1:查询未删除男生信息,按学号降序select * from studentswhere gender=1 and isdelete=0order by id desc;原创 2017-09-20 23:04:38 · 894 阅读 · 0 评论 -
8.分页、连接、自关联查询
获取部分行语法select * from表名limit start,count从start开始,获取count条数据start索引从0开始例1:查询前3行男生信息select * from studentswhere gender=1limit 0,3; 分页已知:每页显示m条数据,当前显示第n页求总页数:此段逻辑后面会在python中实现原创 2017-09-20 23:23:22 · 532 阅读 · 0 评论 -
9.数据库中的子查询
子查询在一个 select 语句中,嵌入了另外一个 select 语句,那么被嵌入的 select 语句称之为子查询语句 主查询主要查询的对象,第一条 select 语句 主查询和子查询的关系子查询是嵌入到主查询中子查询是辅助主查询的,要么充当条件,要么充当数据源子查询是可以独立存在的语句,是一条完整的 select 语句原创 2017-09-22 23:24:32 · 542 阅读 · 0 评论 -
10.数据库中的内置函数
字符串函数查看字符的ascii码值ascii(str),str是空串时返回0查看ascii码值对应的字符char(数字):select char(97);拼接字符串concat(str1,str2...):selectconcat(12,34,'ab');包含字符个数length(str):selectlength('abc');截取字符串left(str,len)返回字符原创 2017-09-22 23:25:13 · 1111 阅读 · 0 评论 -
11.MYSQL高级(一)
1.账户管理在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crudMySQL账户体系:根据账户所具有的权限的不同,MySQL的账户可以分为以下几种服务实例级账号:,启动了一个mysqld,即为一个数据库实例;如果某用户如root,拥有服务实例级分配的权限,那么该账号就可以删除所有的数据库、原创 2017-09-23 22:27:31 · 531 阅读 · 0 评论 -
12.MYSQL高级(二)
1.视图(重点视图本质就是对查询的封装,定义视图,建议以v_开头create view视图名称 as select语句;例:创建视图,查询学生对应的成绩信息create view v_stu_sco asselect students.*,scores.score from scoresinner join students on scores.stuid=原创 2017-09-23 22:28:35 · 383 阅读 · 0 评论 -
python操作MySQL 模拟简单银行转账操作
一、基础知识1、MySQL-python的安装下载,然后 pip install 安装包2、python编写通用数据库程序的API规范(1)、数据库连接对象 connection,建立python客户端与数据库的网络连接,创建方法为 MySQLdb.Connect(参数) 参数有六个: host(MySQL服务器地址,转载 2017-09-27 09:52:24 · 933 阅读 · 0 评论 -
python-mysql超简单银行转账
1首先先建数据库bank,数据结构表的名称为accoment:2.python与mysql交互代码如下:# coding =utf-8# 1.导入模块from pymysql import *import sysimport pymysql# 2.接受命令行参数if __name__ == '__main__': source_acctid = '11'原创 2017-09-27 11:15:19 · 1001 阅读 · 0 评论 -
Python 中操作 MySQL 步骤
1.引入模块在py文件中引入pymysql模块from pymysql import *2.Connection 对象用于建立与数据库的连接创建对象:调用connect()方法conn=connect(参数列表)参数host:连接的mysql主机,如果本机是'localhost'参数port:连接的mysql主机的端口,默认是3306参数da原创 2017-09-27 11:24:29 · 377 阅读 · 0 评论 -
数据库实例:用户注册
1.根据结构创建表的脚本如下createtable py_users(id int unsigned auto_increment not null primary key,uname varchar(20) not null,upwd char(40) not null,is_delete bit not null default 0); 如原创 2017-09-28 22:48:20 · 982 阅读 · 0 评论 -
数据库实例:用户登录
如下遍流程图,接下来的代码就按照这个逻辑来写 创建user_login.py文件,代码如下#coding=utf-8from MySQLdb import*from hashlib importsha1if __name__=='__main__': try: #接收输入用户名、密码 uname=raw_in原创 2017-09-28 22:50:34 · 1037 阅读 · 0 评论 -
数据库实例:mysql与mongo结合用户登录
加入mongodb后登录逻辑如下图,将图中nosql的位置换为mongodb即可 用户数据存储的集合名称为py_users,文档格式为{'uname':'用户名','upwd':'密码'}将原来MySQL操作的代码封装到一个方法中,代码如下 defmysql_login(): #mongodb中没有则到mysql中查询 sql原创 2017-09-28 22:52:16 · 817 阅读 · 0 评论 -
数据库实例:mysql与redis结合用户登录
加入redis后登录逻辑如下图,将图中nosql的位置换为redis即可 用户数据存的键为用户名,值为密码将原来MySQL操作的代码封装到一个方法中,代码如下 defmysql_login(): #redis中没有则到mysql中查询 sql='select upwd from py_users whereuname=%s'原创 2017-09-28 22:53:14 · 1744 阅读 · 0 评论 -
数据库练习题(一)创建表格并做相应的查询
#1. 在MySQL中分别创建表dept和employee,结构如下:dept+------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+------------+-原创 2017-09-29 11:37:37 · 5118 阅读 · 0 评论 -
数据库练习(二)三个数据库根据指定id获取name和存储数据库名称
已知有三个数据库mysql,mongodb和redis,已经分别存储了不同的学生信息,数据全部采用字符串类型,只有id和name两个字段(在mongo和redis中键为id,值为name),现需编写代码实现需求:根据指定id获取对应的name和存储该条信息的数据库名称。答案结果如下:from pymysql import *from pymongo impo原创 2017-09-29 11:48:10 · 1506 阅读 · 0 评论