栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django.二

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django.二

1.基础语法
注意:SQL 对大小写不敏感。要求在每条 SQL 语句的末端使用分号。分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 SQL 语句。

show batabes;        显示当前所有的数据库

show tables;        显示当前所有的表格

use 数据库名称;        命令用于选择数据库

set names utf8;        命令用于设置使用的字符集

alter database 库名 character set utf8 ;修改当前数据库的字符编码为utf8

select         从数据库中提取数据

update        更新数据库中的数据

delete        从数据库中删除数据

insert into        向数据库中插入新数据

create database   库名      创建新数据库

alter database        修改数据库

create table 表名        创建新表

alter table        改变数据库表

drop table 表名        删除表

create index        创建索引(搜索键)

drop index        删除索引

2.常用语句
2.1 查询语句
select 列名,列名 from 表名;        从表中选取列并展示

select * from 表名;       展示所选取的表,即选取了所有列

select distinct 列名,列名 from 表名;       distinct关键词用于返回唯一不同的值

select * from 表名 where 限制条件;        where用于过滤记录,提取那些满足指定条件的记录

where 中的运算符

AND 、OR 运算符用于基于一个以上的条件对记录进行过滤。

 select * from 表名 where 条件 and 条件 ;           表示并,要求两个条件同时成立

select * from 表名 where 条件 or 条件;        表示或,只要其中一个条件成立即可

select * from表名 where 条件 and (条件 or 条件)        可以将两个运算符混合使用 

高级查询语句

1.  查询前10条数据:

select * from 表名 order by id(主键)limit 10 ;

2.查询第11条到第15条数据:

select * from 表名 limit 10,5 ;

2.2 排序语句
order by 关键字用于对结果集按照一个列或者多个列进行排序。

order by 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

select * from 表名 order by 列名 ;        order 单列

select * from 表名 order by 列名,列名 ;        order 多列

2.3插入语句
注意:id 列是自动更新的,表中的每条记录都有一个唯一的数字。

insert into 语句用于向表中插入新记录。

insert into 语句可以有两种编写形式。

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO 表名  值(value1,value2,value3,...) ;

第二种形式需要指定列名及被插入的值:

INSERT INTO 表名 (列名1,列名2,列名3,...)  值(value1,value2,value3,...) ;

2.4更改语句
注意:WHERe 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERe 子句,所有的记录都将被更新!

update 语句用于更新表中的记录。

update表名 set 列名1=value1,列名2=value2,... where 某一列名=某一值;

2.5删除语句
注意:WHERe 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERe 子句,所有的记录都将被删除!

delete语句用于删除表中的行。

delete from 表名 where 某一列=某一值 ;

3.高级命令
Mysql -uroot -p 回车 密码                进入mysql管理行的命令

showcreate databasemysql ;        显示创建数据库的sql 语句

showcreate tableuser ;        显示创建表的sql语句

desc user;        查询user表的结构

explain select* from user ;        获取select相关信息

show processlist;        显示哪些线程正在运行

show variables;        显示系统变量和值

show variables like ' %conn%' ;        显示系统变量名包含conn的值
————————————————
版权声明:本文为CSDN博主「心之所向,我之所望」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_62058931/article/details/125669625

连接数据库
1.1在连接之前首先安装pymysql
安装方法如下(如果已安装,则可跳过这一安装过程):

进入Terminal

 

在命令行中输入python -m pip install pymysql

1.2然后导入库
输入import pymysql

 1.3连接数据库
 user为自己的用户名,多数为root,password是自己mysql设置的密码,database是自己已有的数据库,如果没有就在mysql中创建一个数据库。

1.4操作的基本流程
(1)首先声明一个游标。

# 使用 cursor() 方法创建一个游标对象

  cursor = db.cursor()

(2)然后复制sql语句,语句根据不同的操作进行改变。

sql= 'sql操作语句',实例如下:sql查询语句

sql = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('%s', '%s', %s, '%s', %s)" % ('Mac', 'Mohan', 20, 'M', 2000)

(3)执行sql语句

try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback

(4)关闭数据库连接

db.close()

#!/usr/bin/python3

import pymysql

    #打开数据库链接
    db = pymysql.connect(host='localhost',
                         user='testuser',
                         password='test123',
                        database='TESTDB')
    #使用cursor()方法获取操作游标
    cursor = db.cursor()
    
    #sql插入语句
    sql = "INSERT INTO EMPLOYEE(FIRST_NAME, 
           LAST_NAME, AGE, SEX, INCOME) 
           VALUES('%S', '%S', %S, '%S', %S)" % 
           ('Mac','Mohan', 20, 'M', 2000)
    try:
        #执行sql语句
        cursor.execute(sql)
        db.commit()
    except:
        #发生错误时回滚
        db.rollback
    #关闭数据库连接
    db.colse()

 2.创建数据库表
2.1声明一个游标
cursor = db.cursor()

2.2创建表之前先检查是否存在,如果存在则删除
cursor .execute('DROP TABLE IF EXISTS Student')

2.3编辑sql语句
sqlQuery = "CREATE TABLE Student(Name CHAr(20) NOT NULL ,Email CHAr(20),Age int )"

cur.execute(sqlQuery)
 3.数据库插入
3.1编辑sql语句
sqlQuery=" INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "

3.2编辑准备插入的值
value=('Mike','123456@163.com',20)

3.3执行sql语句
try:
    cursor .execute(sqlQuery,value)
    db.commit()
    print('数据插入成功!')
except pymysql.Error as e:
    print("数据插入失败:"+e )
    db.rollback()
 4.数据库查询
4.1编辑sql语句
sqlQuery = "SELECT * FROM Student"

4.2使用fetchall()方法接收全部的返回结果行
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

fetchone(): 该方法获取下一个查询结果集。结果集是一个对象

fetchall(): 接收全部的返回结果行.

rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

try:
    cursor .execute(sqlQuery)
    results=cur.fetchall()
    for row in results:
        name=row[0]
        email=row[1]
        age=row[2]
        print('Name:%s,Email:%s,Age:%s'%(name,email,age))
except pymysql.Error as e:
    print("数据查询失败:"+str(e))
 5.数据库更新
5.1编辑sql语句
sqlQuery = "UPDATe Student SET Name= %s WHERe Name=%s"

5.2编辑更新的信息
value = ('John', 'updated name')

5.3提交修改
try:
    cursor .execute(sqlQuery, value)
    db.commit()
    print('数据更新成功!')
except pymysql.Error as e:
    print("数据更新失败:"+str(e))
    # 发生错误时回滚
    db.rollback()
 6.数据库记录删除
6.1编辑sql语句
sqlQuery = "DELETE FROM Student where Name=%s"

6.2编辑更新的信息
value = ('John')

6.3提交修改
try:
    cursor .execute(sqlQuery, value)
    db.commit()
    print('Date Deleted Successfully')
except pymysql.Error as e:
    print("数据删除失败:"+str(e))
    # 发生错误时回滚
    db.rollback()
 7.删除数据库表
7.1编辑sql语句
sqlQuery='DROP TABLE IF EXISTS Student'

7.2提交修改
cursor .execute(sqlQuery)
print('表删除成功!')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008838.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号