数据定义:DDL
数据操作:DML
数据控制:DCL
数据查询:DQL
SQL支持注释:单行注释:--;单行注释#;多行注释:/* */
#查看数据库
show databases;
#使用数据库
use 数据库名称;
#创建数据库
create database 数据库名称;
#删除数据库
drop database 数据库名称;
#查看当前使用的数据库
select database();
#DML
#插入数据
CREATE TABEL student(
id int,
name varchar(20),
age int
);
#仅插入id数据
insert into student(id) values(1), (2), (3);
#插入全部数据
insert into student(id,name,age) values(4,'周杰伦',31);
#删除name为林俊杰的数据
DELETE FROM student WHERE name = '林俊杰';
#删除age>33的数据
DELETE FROM student WHERE age > 33;
#删除全部数据
DELETE FROM student;
#修改id为10001的name为陈一帆
UPDATE student SET name = '陈一帆' WHERE id = 10001;
#修改全部数据的age为11
UPDATE student SET age = 11;
#DQL
#查询id和name两个列
SELECT id,name FROM student;
#查询全部列
SELECT id,name,age FROM student;
#查询全部列,快捷写法
SELECT * FROM student;
#过滤查询
SELECT * FROM 表 WHERE 条件判断
#分组查询
SELECT gender,avg(age) from student group by gender;
-SUM()求和
-AVG()求平均值
-MIN()求最小值
-MAX()求最大值
-COUNT()求数量
#排序和分页限制
select * from student where age > 20 group by age order by age limit 3;
执行SQL查询
游标对象.execute()执行SQL语句
游标对象.fetchall()将全部的查询结构封装入元组内
from pymysql import Connection
#构建到mysql数据库的连接
conn = Connection(
host="localhost", #主机名
port=3306, #端口
user="root", #账户
password="123456" #密码
)
# print(conn.get_server_info()) #8.0.33
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#执行SQL
# cursor.execute("create table test_mysql(id int);")
#查询
cursor.execute("select * from stu")
result = cursor.fetchall()
print(result)
#((1, '黛绮丝', '2000100101'), (2, '谢逊', '2000100102'), (3, '应天王', '2000100103'))
for i in result:
print(i)
#关闭连接
conn.close()
如果不想手动commit确认,可以构建链接对象的时候,设置自动commit的属性
from pymysql import Connection
#构建到mysql数据库的连接
conn = Connection(
host="localhost", #主机名
port=3306, #端口
user="root", #账户
password="123456" #密码
)
# print(conn.get_server_info()) #8.0.33
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#执行SQL
# cursor.execute("create table test_mysql(id int);")
#插入数据
cursor.execute("insert into test_mysql values(1)")
#通过commit确认
conn.commit()
#关闭连接
conn.close()
from pymysql import Connection
#构建到mysql数据库的连接
conn = Connection(
host="localhost", #主机名
port=3306, #端口
user="root", #账户
password="123456",#密码
autocommit=True #自动确认
)
# print(conn.get_server_info()) #8.0.33
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#执行SQL
# cursor.execute("create table test_mysql(id int);")
#插入数据
cursor.execute("insert into test_mysql values(2)")
# #通过commit确认
# conn.commit()
#关闭连接
conn.close()