操纵数据库的语言,基于功能划分为4类:
数据定义:DDL(Data Definition Language)库的创建删除、表的创建删除等
数据操纵:DML(Data ManipulationLanguage)新增数据、删除数据、修改数据等
数据控制:DCL(Data ControlLanguage)新增用户、删除用户、密码修改、权限管理等
数据查询:DQL(Data QueryLanguage)基于需求查询和计算数据(分组group by聚合函数:求和sum求平均值avg求最小值min求最大值max求数量count)(排序order by分页limit)
启动MySQL:
以管理员身份打开命令窗口,输入: net start mysql
DBeaver连接数据库总报错Public Key Retrieval is not allowed:
SQL语法特征:1.大小写不敏感2.分号;结尾3.支持注释(单行注释--或者#,多行注释/**/)
中括号代表可写可不写
python操作mysql数据插入:
小练习1:通过python代码把数据写入数据库中(写)
1.DBeaver建表结构:
create databpy_sql;#建数据库use py_sql;#使用这个数据库#建表结构create table orders(order_date date,order_id varchar(255),money int,province varchar(10))
2.pycharm中写连接数据库的方式,使用哪个数据库,执行插入语句:
conn=Connection(host="localhost",port=3306,user="root",password="12345",autocommit=True
)
cursor=conn.cursor()
conn.select_db("py_sql")
for record in all_data:sql=f"insert into orders(order_date,order_id,money,province) values('{record.date}','{record.order_id}',{record.money},'{record.province}')"# print(sql)cursor.execute(sql)
conn.close()
小练习2:反向读取数据库中的语句到python(读)
#读
db_cursor = conn.cursor()
db_cursor.execute("SELECT * FROM orders")
rows = db_cursor.fetchall()
for row in rows:print(row)
with open('D:/1.txt','w',encoding='UTF-8') as file:for row in rows:file.write(str(row))file.write("\n")file.flush()
file.close()
allowPublicKeyRetrieval=true
:这个参数告诉JDBC驱动器在尝试连接时允许公钥检索。