Mysql 学习笔记
下载
下载
https://www.cnblogs.com/reyinever/p/8551977.html
官网下载 MySQLcommunity sever
解压缩
配置环境变量
变量名:MYSQL_HOME
变量值:E:\mysql-5.7.20-winx64
path里添加:%MYSQL_HOME%\bin;
注册用户
生成data
以管理员身份运行cmd
进入E:\mysql-5.7.20-winx64\bin 下
执行命令:mysqld --initialize-insecure --user=mysql
在E:\mysql-5.7.20-winx64目录下生成data目录
启动服务
执行命令:net start mysql
启动mysql服务,
若提示:服务名无效 解决办法:mysqld -install
登陆
登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)
E:\mysql-5.7.20-winx64\bin>mysql -u root -p
Enter password: 回车符
修改root密码,注册新用户
略,有空再添加
创建数据库
https://www.runoob.com/mysql/mysql-tutorial.html
在mysql terminal中
mysql> create DATABASE appdb;
mysql> use appdb;
创建table
例子
root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_tbl(
-> runoob_id INT NOT NULL AUTO_INCREMENT,
-> runoob_title VARCHAR(100) NOT NULL,
-> runoob_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( runoob_id )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)
mysql>
数据库操作
insert
mysql> INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("学习 PHP", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
查看
略
查看数据库信息
SHOW DATABASES;
SHOW TABLES;
Flask + MySQL
这里我用root登陆,格式是[root]:[password](我的密码是空)。MySQL端口3306,然后用我创建的appdb。
注意sqlite可以直接用python来建数据库,table。但是MySql要先在外面建好db和table。
# config.py
# app path
base_dir = os.path.abspath(os.path.dirname(__file__)) # 返回绝对路径
# sqlalchemy 配置
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:@localhost:3306/appdb' # MySql
# SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(base_dir, 'app.db') # Sqlite
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
# app.py
# 导入配置
app.config.from_object(config.get('default'))
# models/user.py
class User(UserMixin, db.Model):
"""define a user
Attributes:
id: define the id of a user
username: define username of a user
password: define password of a user
"""
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password = db.Column(db.String(80), unique=True, nullable=False)
def check_password(self, password):
return password == self.password
def __repr__(self):
return '<User %r>' % self.username
# routes/user.py
通过python添加用户
@app.route('/')
def register():
user = User(username=form.username.data, password=form.password.data)
db.session.add(user)
db.session.commit()