严格的:这篇博客旨在使用清晰的描述方式,将在基于 python 的应用级程序设计中需要用到的 mysql 相关知识。
简单:一文抓住 mysql 关键知识点。
严格的:mysql 是一种服务器,数据库是建立在远端服务器上的数据管理服务端。Mysql 是一种关系型的数据库。
数据库分类:可分为关系型和非关系型数据库。关系型:将复杂的数据结构归为简单的二元关系(二维表格形式)。这种类型的数据库有:Oracle、Mysql、SQLServer、Sybase、Informix、access、DB2 等……
非关系型数据库:即 Nosql, 泛指非关系型的数据库。随着互联网 web2.0 网站的兴起,传统的关系数据库在应付 web2.0 网站,特别是超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,NoSql 数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是作为对传统关系型数据库的一个有效的补充。Nosql 包括:键值存储数据库(key-value)、列存储(Column-oriented)数据库、面向文档(Document-Oriented)数据库、图形数据库。
代表性的 nosql 有:Memcached(key-value)、Redis(key-value)、MongoDB(Document-oriented)、Cassandra(Column-oriented)
简单的:一个服务器上可以有多个数据库、一个数据库中有多张表、一张表由多个行多个列组成。一个行是一条数据,一列(一个字段)表示一种数据属性。
简单的:
Insert into table_1(id,name) values (2,'千万'); 在表中增加一条数据
Delete from table_1 where from id= 3; 删除表中的数据
Updata table_1 set name='速度' where name='xx'; 改变表中的数据
Select id,name from table_1 where id >2; 查看表中的数据
简单的:
Create datadase 数据库名; 创建数据库
Dorp database 数据库名; 删除数据库
Show databases; 查看当前服务器中所包括的数据库
Use 数据库名; 进入某个数据库下,以便接下来的操作
严格的:
简单的:
创建表 ->
create table 表名 (
字段名 1 类型 [(宽度) 约束条件],
字段名 2 类型 [(宽度) 约束条件],
字段名 3 类型 [(宽度) 约束条件]
);
Drop table 表名; 删除表
Alter table 表名 change 旧字段名 新字段名 数据类型 [完整性约束条件…]; 修改表中的字段;
Desc table_1; 查看表的字段结构
简单的:
Insert into table_1(id,name) values (2,'千万'); 在表中增加一条数据
Delete from table_1 where from id= 3; 删除表中的数据
Updata table_1 set name='速度' where name='xx'; 改变表中的数据
Select id,name from table_1 where id >2; 查看表中的数据
视图是一张基于 sql 得到的一张虚拟表,并存在数据库中以供之后使用。
简单的:
Create view view_1 as select * from ……; 创建视图
Alter view view_2 as sql 语句; 修改视图(等于重建视图)
Drop view view_2;
在正常进行增删改操作前后,添加一些功能(类比与装饰器)。
简单的:
Create trigger tri_1 before/after insert/delete/update on table_1 for each row; 创建一个触发器
Drop trigger tri_1; 删除一个触发器;
储存过程是用来封装一系列 aql 操作,方便以后调用。
简单的:
创建储存过程 ->
Create procedure p1()
Begin
…………
End
函数是 mysql 提供给你的自定义运算功能,其中不能有 sql 语句。
简单的:
创建函数:
Create function f1(i int) returns int
Begin
Declare aa int;
Set aa = 2;
Return(aa)
End;
Drop function fi; 删除函数
事务是将多个 sql 语句作为一个整体,一旦某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。
简单的:
Start transaction; 开启事务
Sql 语句……
Commit; 提交结果
Rollback; 回滚
Python 提供了用于操纵 mysql 的接口
简单的:
安装:pip install pymysql
Import pymysql # 导入
conn=pymysql.connect(host='localhost',user='root',password='123',database='egon',charset='utf8') # 建立链接
cursor=conn.cursor() # 获得游标
sql='select * from userinfo where name="%s"and password="%s"'%(user,pwd) #注意 %s 需要加引号
re = cursor.execute(sql) # 执行 sql 语句,返回这条语句影响的行数
conn.commit() # 提交 sql 执行的结果,对数据的修改有效
res = cursor.fechall() # 获取查询的结果(以元祖的形式)
conn.close() # 关闭链接
来源: http://blog.csdn.net/qq_40691075/article/details/78834956