后端初步学习笔记
1. MySQL常用指令
- cmd / powershell部分
mysqld --install / --remove?安装/移除mysql服务
net start/stop mysql?启动/关闭mysql服务
mysql -u root -p?以root用户登陆mysql
?
- mysql部分
show databases;?查看数据库
use 库名称;?使用某个数据库
show tables;?查看这个库里的表
select 列名称 from 表名称 [查询条件];?查询列 查询条件即where(可缺省) 列名称用*即可查看整张表
desc 表名称;?查看指定表的结构
create database 库名称;?创建指定名称的数据库
source ***.sql?把指定路径的sql文件导入当前使用这个数据库中
drop table/database ***;?删除指定名称的表/数据库
insert into 表名 values(***, ***, ...)?插入数据
delete from 表名 [where ***]?删除指定表内的数据
2. Django常用指令
- 命令行部分
django-admin startproject project_name?新建一个django项目
python manage.py startapp app_name?新建一个app从代码生成表:
python manage.py migrate?创建表结构
python manage.py makemigrations app_name?告诉django我们的模型有变化
python manage.py migrate app_name?创建表结构从已有的表生成代码:
python manage.py inspectdb > app_name/models.py?把settings里指定的表里的内容生成为models的代码
python manage.py runserver [端口号]?在指定端口上运行服务器(缺省值为8000端口)
python manage.py flush?清除所有数据
python manage.py createsuperuser?创建超级管理员
3. Django新建项目操作流程
- 新建项目 startproject
- 新建项目 startapp
- 修改 settings.py a. 修改 databases
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘:‘***‘,
"USER":‘***(root)‘,
"PASSWORD":‘***‘,
‘HOST‘:‘localhost‘,
‘PORT‘: ‘3306‘,
}
}b. app名称添加进 installed_apps 里 c. 修改 models.py 文件 建立数据库模型- 修改 views.py 和 urls.py 进行链接映射和后端功能编写
- Django的一些细节
urls.py 里,链接匹配用的是正则 开头的 ^ 表示匹配字符串头,结尾的 $ 表示匹配字符串尾
如果后面或者前面还要匹配别的字符串就不要加对应的那个符号了在接收网络文件(图片、文件等)的时候,接收可能会有权限报错。接收文件夹需要对权限进行更改,如下。
cd /var/www/项目名称?到 存放文件的文件夹 所在的文件夹下
chgrp -R www-data src/?修改文件夹用户组
chmod -R g+w src/?修改读写权限
4. Django数据库读写操作
- 添加/更新数据:
***.save()?***为对应的数据库对象实例
注意!如果该对象的主键已经存在,则会直接更新对应的值!
?
- 查询数据:
***.objects.all()?相当于select * from
***.objects.filter( ** = ** )?相当于where
***.objects.get( ** = ** )?获取单个对象
***.objects.order_by( "**" )?排序(可以和上面的连锁使用)(可以有两个参数)
?
- 删除数据:
***.delete()?删除表中指定对象
***.objects.filter(**=**).delete()?删除选中的指定记录
***.objects.all().delete()?全删了
- 需要注意的点:
- 是
objects不是object!!!
有s!!
- 是
5. JSON
- 编码:
json.dumps(obj)
常用参数:
sort_keys = True/False?对数据排序
encoding = ‘utf-8‘?设置编码
indent = 4?设置编码数据的缩进(方便阅读)(不推荐用)
separators = (‘,‘,‘: ‘)?设置分割对象的分隔符 方便压缩数据
?
- 解码:
json.loads(encoded_json)
常用参数:
encoding = ‘utf-8‘?设置编码