我发现不管是做什么,最开始总是会遇到各种各样的问题,而学习的过程就是解决这些问题的过程。
首先就是anaconda的问题,因为我电脑里面没有安装python环境,就只能用anaconda的虚拟环境来做,但如果你用pycharm来新建个项目,它默认是让你新建一个虚拟环境,而我只想用已经有的环境来做,毕竟环境的新建是在c盘的,我以往一贯的习惯就是不把东西放到c盘。
所以就在看怎么解决这个问题。
自己摸索了一会,发现了解决方法:
首先进入settings中
然后就可以了。
创建连接
之后就开始用python操作mysql了,先下载pymysql包,然后在文件中导入改包。
from pymysql import Connection
我们要用到这个connection组件
然后就是创建这个connection:
con = Connection(
host="localhost", # 你的本地地址
port=3306, # mysql开启的端口号
user="root", # 你的mysql的用户名
password="123" # 你的密码
database="xxxx" # 默认的数据库的名字 这样也行con.select_db("数据库名字"),但是会被下方的覆盖掉
)
对了如果要更改密码的话,记得是在cmd中输入指令,不是mysql的那个控制台中。
建立连接后也要关闭连接:
con.close()
当然咱们也要考虑到异常的状况:
from pymysql import Connection
con = None
try:
con = Connection(
host="localhost",
port=3306,
user="root2",
password="123"
)
print(type(con))
print(con.get_host_info())
print(con.get_server_info())
except Exception as e:
print("异常", e)
finally:
if con:
con.close()
使用数据库执行ddl语句
其实关键的就是游标cursor
cursor = con.cursor()
这是建立游标,获得你数据库的游标
cursor.execute("sql") # sql就是正常的sql语句了
在这就是这行sql语句了
sql = """
CREATE TABLE `STUDENT` (
`Sno` CHAR(9) NOT NULL PRIMARY KEY COMMENT '主键',
`Sname` VARCHAR(10) NOT NULL,
`Ssex` CHAR(2) NULL DEFAULT '男' COMMENT "默认设置为'男'",
`Sage` INT NULL,
`Sdept` VARCHAR(4) NULL,
`Sbirth` DATETIME NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
"""
比如这样,用python的多行注释来做
最后就是关闭游标
cursor.close() # 这一步可以省略,因为最后con关闭后,cursor自动关闭
最后总结一下,就是用游标,先建立游标,然后写sql语句,execute执行就行了,最后关闭也是可以省略的。也就是说就两步。
笔者的话
一旦陷入自暴自弃的境地,就像深陷流沙要脱离,越挣扎或许就越陷越深。