大数据 爬虫Python AI Sql

mysql学习总结

2016-12-27  本文已影响36人  海上牧云l

首先django中使用mysql需要mysqlclient库的支持,windows下需要vs支持,可从http://www.lfd.uci.edu/~gohlke/pythonlibs/ 网站下载对应.whl文件,然后pip安装。

在django中配置mysql

django中默认sqlite3数据库,将DATABASES中内容配置如下

DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.mysql',
 'NAME': 'django',     #数据库名字
 'HOST': '127.0.0.1',   
 'PORT': 3306,
 'USER': 'root',
 'PASSWORD': 'root'
 }
}

之后执行以下语句
python manage.py makemigrations
python manage.py migrate

在django中输出sql语句

article = Article.objects.all()
print("sql: %s" % article.query)

创建mysql帐号

CREATE USER 用户名 @'ip' IDENTIFIED BY '密码'

修改mysql账号权限

GRANT ALL PRIVILEGES ON . TO 用户名@ip
第一个*表示数据库,第二个表示表,*表示全部

创建数据库

CREATE DATABASE 数据库名字
DEFAULT CHARSET utf8
COLLATE UTF8_GENERAL_Ci;

创建表

先选择数据库
use demo
CREATE TABLE 表名(name varchar(25));
或者
CREATE TABLE 数据库.表名(name varchar(25));

插入新数据

INSERT INTO 表 (字段1, 字段2) VALUES (值1, 值2);
意为在表的字段1,字段2后面分别插入值1值2.

更新数据

UPDATE 表名字 SET 字段1='字符串', 字段2=数字
WHERE 字段1=值1, 字段2=值2;
把字段分别为值1,值2的改为‘字符串’, 数字
不加where表示把所有字段都改变

删除数据

DELETE FROM 表名字
WHERE 字段名='字符串' AND 字段名2=数字;

限制返回

SELECT * FROM `blog_article` LIMIT 3 OFFSET 2
SELECT * FROM\ blog_article\ LIMIT 2,3
两条语句相等,第一句中limit 3 表示取前三个,offset 2表示跳过前两个。第二句中limit 2,3表示跳过两个,取前三个。

模糊搜索

q = request.GET.get("q", '')
article = Article.objects.filter(title_contains=q)
与上面django语句相同
SELECT * FROM `blog_article` WHERE `blog_article`.title LIKE BINARY '%搜索内容%' (注意是单引号), %代表任意字符

精确查找
SELECT * FROM `blog_article` WHERE\ blog_article\.title = '查找内容'

多表联查

SELECT * FROM `userprofile`  INNER JOIN `user` ON (`userprofile.belong_to_id` = `user.id`) WHERE `user`.`username` = `admin`
上一篇 下一篇

猜你喜欢

热点阅读