django后端培训

一、SQL语句学习笔记

1.1 SQL简介
 SQL 是一种标准化的语言,它允许你在数据库上执行操作,如创建数据库、表等等,查询内容,更新内容,并删除条目等操作。Create, Read, Update, and Delete 通常称为CRUD操作。

SQL 对大小写不敏感:SELECT 与 select 是相同的。

1.2 SQL语句分类 
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等

DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)

DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别

DQL(Data Query Language):数据查询语言,用来查询记录(数据)

1.3 常用SQL语句
1.3.1 增、删、查、改
INSERT INTO <表名>  VALUES (<值1>, <值2>, <值3>, …);
 
#增加指定数据表
 
DROP TABLE <表名>;
 
#删除指定数据表
 
SELECT * FROM 表名 WHERE 变量1='' AND 变量2>3;
SELECT * FROM 表名 ORDER BY 变量;
SELECT * FROM 表名 WHERE salary BETWEEN 50000 AND 100000;
 
#查找指定数据表
 
UPDATE <表名>  SET <列名1> = <值1>, <列名2> = <值2>, ... WHERE <条件>;
 
#改变指定数据表的数据
1.3.2 对数据库和数据表的操作总结
Show databases

Show tables

Insert into 表名() values()

Update 表名 set 字段=值 where ...

Delete from 表名 where ...

Select * from 表名 where 条件 order by ...

Desc/asc limit ...Group by ... Having ...

create database test1222;  #创建数据库

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

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

drop database if exists test122202;  #删除数据库test122202,如果该数据库存在的话

# ---------------------------------

create table if not exists student(
    id int primary key auto_increment,   #主键约束,自动增长约束
    `name` varchar(30) not null unique, #非空约束,唯一约束
    age int,
    address varchar(40),
    heigh double(5,2),  #这是浮点数类型,最多5位,其中必须有两位小数,即最大值为999.99
    weight decimal(5,2), #这是精确数值类型,我们定义为:能够存储具有五位数和两位小数的任何值,存储范围为-999.99至999.99。 
    jianjie text, #这是大文本字符串类型,适合存储比较大的文本数据
    photo blob, #这是二进制数据类型,适合存储图片、音频、视频等
    birthday date, #日期类型,格式为:yyyy-mm-dd
    ruxuetime datetime #日期时间类型 yyyy-mm-dd hh:mm:ss
)charset=utf8;

# ---------------------------------

drop table table_name;  #删除某个表;

show tables;  #显示当前的库中所有的数据表;

desc student;  #查看数据表student中的所有字段;

alter table student add company varchar(50); #为student表增加一个字段;


#一次添加多条数据:
insert into student(id,`name`,age,address) values (4,'曹操',27,'北京海淀'),(5,'周瑜',28,'北京朝阳'),(6,'赵云',30,'北京大兴');

update student set age=24,address="河北保定" where id=1;  #更新某条数据

update student set age=age+5;  #将所有的年龄都加5岁;

# ---------------------------------

delete from student where `name`="zhangsan";   #删除表中的某个字段;
 #对比:
drop table table_name;  #删除某个表;
1.3.3 其他命令总结
Mysql -uroot -p 回车 密码
 
#cmd进入mysql的命令

showdatabases; 

#显示当前 mysql 中的所有数据库

show  create database  mysql;  

#显示创建数据库的 sql 语句

show  create table  user; 

#显示创建表的 sql 语句

desc user; 

#查询 user 表的结构

explain select *   from  user;

#获取 select 相关信息

show processlist;

#显示哪些线程正在运行

SHOW VARIABLES;

#显示系统变量和值

SHOW  VARIABLES like  ’ %conn% ’ 

#显示系统变量名包含 conn 的值
 二、Python连接MySQL数据库
2.1 连接数据库
2.1.1 下载安装pymysql库
在终端输入pip install pymysql即可。

2.1.2 导入库
import pymysql

2.1.3连接数据库
最好用try except捕获异常,例如:

DBHOST = 'localhost'
DBUSER = 'root'
DBPASS = 'root'
DBNAME = 'dbtest'
 
try:
    db = pymysql.connect(host=DBHOST,user=DBUSER, password=DBPASS, database=DBNAME)
    print('数据库连接成功!')
except pymysql.Error as e:
    print('数据库连接失败'+str(e))
2.2 创建新表
2.2.1  声明一个游标
cur = db.cursor()

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

2.2.3  编辑SQL语句
sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"

cur.execute(sqlQuery)

2.3 向表中插入一条数据
2.3.1 编辑sql语句
sqlQuery=" INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "

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

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

2.4.2 使用fetchall()方法接收全部的返回结果行
try:
    cur.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))
2.5 更新表中的数据 
2.5.1 编辑sql语句
sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"

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

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

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

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

2.7.2 提交修改
cur.execute(sqlQuery)
print('表删除成功!')
————————————————
版权声明:本文为CSDN博主「C_yyy89」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ayaxx1314/article/details/125691582

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KRay___

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值