Mysql
sql特征
- 大小写不敏感
- 需以;号结尾
- 支持单行, 多行注释
DDL - 表管理
查看有哪些表
SHOW TABLES;
删除表
DROP TABLE 表名称;
DROP TABLE IF EXISTS 表名称;
创建表
CREATE TABLE 表名称(
列名称 列类型,
列名称 列类型,
....
);
---- 列类型有
int – 整数
float – 浮点数
varchar(长度) – 文本, 长度为数字
date – 日期类型
timestamp – 时间戳类型
DML - 数据操作
数据插入 INSERT
基础语法:
INSERT INTO 表[(列1, 列2, ...., 列N) VALUES(值1, 值2, ...., 值N), (值1, 值2, ...., 值N), (值1, 值2, ...., 值N)];
数据删除 DELETE
基础语法:
DELETE FROM 表名称 [WHERE 条件判断];
数据更新 UPDATE
基础语法:
UPDATE 表名 SET 列=值 [WHERE 条件判断];
DQL – 数据查询
基本语法
SELECT 字段列表|* FROM 表 WHERE 条件判断
分组聚合
SELECT 字段列表|聚合函数 FROM 表 WHERE 条件判断
聚合函数有:
--SUM(列) 求和
--AVG 求平均值
--MIN 求最小值
--MAX 求最大值
--COUNT 求数量
排序分页
SELECT 列|聚合函数|* FROM 表
WHERE ...
GROUP BY ...
ORDER BY ... [ASC | DESC]
LIMIT n[, m]
数据库连接
from pymysql import Connection
#获取到mysql数据库的链接对象
conn = Connection(host='localhost', port=3306, user='root', password='123456')
#打印数据库软件信息
print(conn.get_server_info())
#关闭到数据库的链接
conn.close()
执行sql语句
非查询性质的sql语句
from pymysql import Connection
#获取到mysql数据库的链接对象
conn = Connection(
host='localhost',
port=3306, user='root',
password='123456')
# 获取游标对象
cursor = conn.cursor()
conn.select_db("test")#选择数据库
#使用游标对象,执行sql
cursor.execute("CREATE TABLE test_pymysql(id INT, info VARCHAR(255))")
#关闭到数据库的链接
conn.close()
查询性质的sql语句
from pymysql import Connection
#获取到mysql数据库的链接对象
conn = Connection(
host='localhost',
port=3306, user='root',
password='123456')
# 获取游标对象
cursor = conn.cursor()
conn.select_db("test")#选择数据库
#使用游标对象,执行sql
cursor.execute("SELECT * FROM student")
#获取查询结果
results: tuple = cursor.fetchall()
for r in results:
print(r)
#关闭到数据库的链接
conn.close()
数据插入
需要通过链接对象的commit成员方法来进行确认的
或者设置自动提交
conn = Connection(
host='localhost',
port=3306, user='root',
password='123456'
autocommit=True)