flask 连接mysql相关操作

1   安装flask连接数据库模块flask-sqlalchemy


1

2

3

4

5

6

7

8

[root@django
flask]
#
pip install flask-sqlalchemy

Collecting
flask
-sqlalchemy

  Downloading
Flask
-SQLAlchemy-2.0.tar.gz
(
93kB)

    100% |################################|
94kB 111kB/s

Requirement
already satisfied (use 
--upgrade
to upgrade): Flask>
=0.10 in /usr/lib/python2.7/site-packages
(
fromflask-sqlalchemy)

Collecting
SQLAlchemy (
from flask-sqlalchemy)

  Downloading
SQLAlchemy
-0.9.9.tar.gz
(
4.2MB)

    100% |################################|
4.2MB 16kB/s

2  安装mysql-python

[root@django flask]# pip install mysql-python

3  生成mysql数据库


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

[root@django
flask]
#
cat db.py

from flask import Flask

import MySQLdb

from flask.ext.sqlalchemy import SQLAlchemy

  

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'='mysql://root:123456@localhost/flask'

db = SQLAlchemy(app)

 

class User(db.Model):

    id = db.Column(db.Integer,
primary_key
=True)

    username = db.Column(db.String(80),
unique
=True)

    email = db.Column(db.String(320),
unique
=True)

    phone = db.Column(db.String(32),
nullable
=False)

  

    def __init__(self,
username, email, phone):

        self.username = username

        self.email = email

        self.phone= phone

if __name__ == '__main__':

        db.create_all()

primary_key  主键      db.create_all()表示执行mysql语句

python db.py执行完后查看数据库有没有这个表


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

mysql>
use flask;

Reading
table information 
for completion
of table 
and column
names

You
can turn off this feature to get a quicker startup with 
-A

 

Database
changed

mysql>
desc user;

+----------+--------------+------+-----+---------+----------------+

|
Field    | 
Type         |
Null | Key | Default | Extra          |

+----------+--------------+------+-----+---------+----------------+

id       int(11)     
| NO   | PRI | NULL    | auto_increment |

|
username | varchar(
80
| YES  | UNI | NULL    |                |

|
email    | varchar(
320)
| YES  | UNI | NULL    |                |

|
phone    | varchar(
32
| NO   |     | NULL    |                |

+----------+--------------+------+-----+---------+----------------+

4 rows in set (0.00 sec)

 

以上就是显示说明是成功的mysql连接简单操作很轻松的

 

4  插入数据


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

[root@django
flask]
#
cat  insert.db

from flask import Flask

import MySQLdb

from flask.ext.sqlalchemy import SQLAlchemy

  

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'='mysql://root:123456@localhost/flask'

db = SQLAlchemy(app)

 

class User(db.Model):

    id = db.Column(db.Integer,
primary_key
=True)

    username = db.Column(db.String(80),
unique
=True)

    email = db.Column(db.String(320),
unique
=True)

    phone = db.Column(db.String(32),
nullable
=False)

  

    def __init__(self,
username, email, phone):

        self.username = username

        self.email = email

        self.phone= phone

inset=User(username='itmin',
email
='itmin@qq.com',
phone
='13812345678')

db.session.add(inset)

db.session.commit()

 

查看下数据库


1

2

3

4

5

6

7

8

9

mysql>
select 
* from User;

ERROR 1146 (42S02):
Table 
'flask.User' doesn't
exist

mysql>
select 
* from user;

+----+----------+--------------+-------------+

id |
username | email        | phone       |

+----+----------+--------------+-------------+

|  1 |
itmin    | itmin@qq.com | 
13812345678 |

+----+----------+--------------+-------------+

1 row in set (0.00 sec)

 

5  查询数据库


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

[root@django
flask]
#
cat select.db

from flask import Flask

import MySQLdb

from flask.ext.sqlalchemy import SQLAlchemy

  

<span
style
="color:
rgb(255, 0, 0);"
>from sqlalchemy importand_,not_,or_</span>

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'='mysql://root:123456@localhost/flask'

db = SQLAlchemy(app)

 

class User(db.Model):

    id = db.Column(db.Integer,
primary_key
=True)

    username = db.Column(db.String(80),
unique
=True)

    email = db.Column(db.String(320),
unique
=True)

    phone = db.Column(db.String(32),
nullable
=False)

  

    def __init__(self,
username, email, phone):

        self.username = username

        self.email = email

        self.phone= phone

    def __repr__(self):

        return "<User
'{:s}'>"
.format(self.username)

        #
return 'User %r' % self.username

select_=User.query.filter_by(username='itmin').first()

print(select_.id#精确查询并查找出ID

 

printUser.query.filter(User.email.endswith('@qq.com')).all()#模糊查询

 

printUser.query.filter(User.phone.endswith('13812345678')).all()

 

print User.query.filter(User.username
!
= 'yoyo').first()#反条件查询非

 

printUser.query.filter(not_(User.username=='yoyo')).first()


1

#反条件查询非


1

2

3

4

5

6

7

8

9

print User.query.filter(or_(User.username
!
= 'yoyo',
User.email.endswith(
'@example.com'))).first()   #或查询

print User.query.filter(and_(User.username
!
= 'yoyo',
User.email.endswith(
'@example.com'))).first()  #与查询

print User.query.limit(10).all() #查询返回的数据的数目

 

data_all=User.query.all()

print (data_all)#查询全部

 

for in range(len(data_all)):

 print data_all[i].username+"
"
+data_all[i].email+"
"
+data_all[i].phone

#循环拿出全部数据

 

结果:


1

2

3

4

5

6

7

8

9

10

11

[root@django
flask]
#
python select.db

1

[<User 'itmin'>,
<User 
'yoyo'>]

[<User 'itmin'>]

<User 'itmin'>

<User 'itmin'>

<User 'itmin'>

[<User 'itmin'>]

[<User 'itmin'>,
<User 
'yoyo'>]

itmin
itmin@qq.com 
13812345678

yoyo
yy@qq.com 
13812345679

 

 

6  更新数据


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

[root@django
flask]
#
cat update.py

from flask import Flask

import MySQLdb

from flask.ext.sqlalchemy import SQLAlchemy

  

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'='mysql://root:123456@localhost/flask'

db = SQLAlchemy(app)

 

class User(db.Model):

    id = db.Column(db.Integer,
primary_key
=True)

    username = db.Column(db.String(80),
unique
=True)

    email = db.Column(db.String(320),
unique
=True)

    phone = db.Column(db.String(32),
nullable
=False)

  

    def __init__(self,
username, email, phone):

        self.username = username

        self.email = email

        self.phone= phone

news=User.query.all()

print news

news[1].username='test'

db.session.commit()

7   删除数据


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

[root@django
flask]
#
cat delete.py

from flask import Flask

import MySQLdb

from flask.ext.sqlalchemy import SQLAlchemy

  

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'='mysql://root:123456@localhost/flask'

db = SQLAlchemy(app)

 

class User(db.Model):

    id = db.Column(db.Integer,
primary_key
=True)

    username = db.Column(db.String(80),
unique
=True)

    email = db.Column(db.String(320),
unique
=True)

    phone = db.Column(db.String(32),
nullable
=False)

  

    def __init__(self,
username, email, phone):

        self.username = username

        self.email = email

        self.phone= phone

 

name=User.query.filter_by(username = 'bb').first()

db.session.delete(name)

db.session.commit()

时间: 2024-11-21 04:56:41

flask 连接mysql相关操作的相关文章

Eclipse连接Mysql数据库操作总结_java

(自己亲测,开始学习Eclipse(我的Eclipse版本是4.5.2,Jdbc驱动器的jar包版本是5.1.7,亲测可以使用)连接到数据库的时候,发现网上有好多经验,但是发现网上的出现很多错误,故此发表此博客,希望对大家有所帮助) 1:首选你需要下载Jdbc驱动器(mysql-connector-java-5.1.7-bin.jar)这个文件 下载上面那个文件也是很是坎坷啊,所以为了你们的方便,特此分享. 2:下载好上面的Jdbc驱动器后,就可以开始动手操作了,首先打开Eclipse,创建一个

qt连接MySQL数据库操作问题

问题描述 qt连接MySQL数据库操作问题 在qt项目中,main函数中连接了数据库,且连接成功,在其他函数中如何操作数据库,使用的是MySQL数据库,新手求大神指点! 解决方案 你可以把connection保存在一个全局变量里,别的函数操作它就可以了.http://blog.csdn.net/cgzhello1/article/details/8619276 解决方案二: 把这定义成全局的, _ConnectionPtr m_pConn; 用的时候 Execute 解决方案三: 定义全局 _C

php 连接 mysql数据库操作类

class mysql{   private $db_host; //数据库主机   private $db_user; //数据库用户名   private $db_pwd; //数据库密码   private $db_database; //数据库名   private $conn; //数据库连接标识;   private $sql; //sql执行的语句   private $result; //query的资源标识符   private $coding; //数据库编码,gbk,utf

PHP4与MySQL数据库操作函数详解

mysql|函数|数据|数据库|详解 说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起.PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关. 下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_): <1>. 连接数据库服务器(database server)的函数(2个): (1).mysql_connect() 格式:int mysql_connect(string [hostname] [:port],st

PHP4与MySQL数据库操作函数详解(一)

    说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起.PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关.      下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_):      <1>. 连接数据库服务器(database server)的函数(2个):      (1).mysql_connect()   格式:int mysql_connect(string [hostname] [:port],

PHP4 与 MySQL 数据库操作函数详解_php技巧

说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起.PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关.   下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_):   <1>. 连接数据库服务器(database server)的函数(2个):   (1).mysql_connect()   格式:int mysql_connect(string [hostname] [ort],string [usernam

PHP4 与 MySQL 数据库操作函数详解_php基础

I 说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起.PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关.   下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_):   <1>. 连接数据库服务器(database server)的函数(2个):   (1).mysql_connect()  格式:int mysql_connect(string [hostname] [ort],string [userna

PHP4 与 MySQL 数据库操作函数详解(1)

说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起.PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关.下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_): <1>. 连接数据库服务器(database server)的函数(2个): (1).mysql_connect() 格式:int mysql_connect(string [hostname] [ort],string [username],string

6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法

 mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | test               | +--------------------+ ,mysql> use mysql ERROR 1044 (42000): Access denied for user''