最近在新课学习python,到了数据库的安装和使用,其中遇到了一些困难,特别是在VScode上使用MySQL时,遇到了一些难处,特此纪录与分享一下。
MySQL简介
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL安装
MySQL的安装有两种方式:
第一种:以压缩包的形式进行安装
(中途出现任何解决不了的问题,请停止这种安装方式,使用第二种安装包的形式进行安装)
下载地址:MySQL :: Download MySQL Community Server
下载完成后,我们就得到了一个zip压缩包(我的压缩包mysql-8.0.29-winx64.zip),然后我将压缩包解压到了D:\mysql中,接下来我们需要配置一下MySQL的配置文件,如下:
在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息(复制进去)
[client]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]# 设置3306端口port = 3306# 设置mysql的安装目录basedir=D:\mysql# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错# datadir=D:\mysql# 允许最大连接数max_connections=20# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB
其中,只需要将basedir词条中的路径换成自己的即可,8.0以上的不需要datadir词条。
接下来我们启动MySQL数据库
以管理员的身份打开cmd命令行工具,切换目录:(提醒:必须是以管理员身份打开,否则以下操作会出现失败现象)
例如:点击开始—搜索命令提示符—鼠标右键—-点击以管理员的身份运行进入bin文件夹之后,我们就可以使用mysql命令了。
接下来初始化数据库:输入一下命令
mysqld --initialize --console
执行完成后,会输出root(用户名)的初始默认密码,例如一下:
这个密码是系统随机生的的,最好保存一下,以免忘掉,后面我们可以修改密码。
然后,我们继续进行安装数据库命令
mysqld install
完成之后我们启动服务即可
net start mysql
结束之后,我们就算完成了MySQL的安装。
第二种:以安装包(exe)的形式进行安装
由于,我是按第一种方式,安装成功了,第二种方式便没有尝试。
大家可以看这个作者的文章:MySQL安装教程(详细)_花北城的博客-CSDN博客
数据库的操作
登录数据库
当MySQL 服务已经运行时, CD到bin目录,打开命令提示符, 输入以下格式的命名:
mysql -h 主机名 -u 用户名 -p
-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u : 登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
例如:
mysql -u root -p 123456
123456是我重置后的密码,初次登陆使用默认密码。
出现这样的代码表示成功进入MySQL数据库,接下来就可以进行数据库操作了。
我的登录之后,系统让我更改密码才可以使用,更改密码如下:
set password =password(‘123456’);
查看数据库
语法:
show databases;
分号是非常重要的
创建数据库
语法:
create database 库名;
删除数据库
语法:
drop database 库名;
选择数据库
语法:
use 库名;
进入数据库,我们就可以进行表操作了。
创建数据表
语法:
create table 表名(ID int auto_increment,表字段名 类型,表字段名 类型,表字段名 varchar(n),)DEFAULT CHARSET=utf8;varchar(n) n代表字符个数
MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型
删除数据表
语法:
drop table 表名;# 删除表
清空表数据
truncate table 表名;
truncate只会清除表数据,drop不光清除表数据还要删除表结构
delete from 表名 where id=’1′;
delete from 表名;
如果不加where条件,则是删除表所有的数据
插入数据
语法:
insert into 表名(name1,name2,name3) values (data1,data2,data3)
如果数据是字符型,必须使用单引号或者双引号,如:”data”
查询数据
语法:
select * from 表名;
# 查看表中的所有数据select name from 表名;
# 查看指定数据desc 表名:
# 查看表结构show tables;
# 查看表 – 选择数据库
VScode进行连接MySQL
我们安装MySQL是为了存储数据,而我学习的又是python,需要与数据库进行连接才能使用。
学习时,老师是使用pycharm进行教学的,但是由于笔者的电脑使用pycharm时,无法再使用网页(两者一起使用,电脑会卡住),所以使用的是VScode,也就有了一下使用MySQL的困难。
首先,pycharm专业版有一个很好的MySQL连接功能,各位可以自行尝试。
如果使用VScode,我们又不想使用dos(命令提示符)这种困难的指令进行数据库交互,我们就需要安装一些插件,在VScode中使用MySQL。
第一步,我们在VScode的商店中搜索mysql
三个mysql的区别,诸位可以百度一下,选择自己喜欢的,由于我也是第一次使用,并不清楚三者的区别,只知道三个都可以连接数据库,这里我重点说一下我安装SQLTools时遇到的困难。
第二步,连接数据库
我们点击进入柱形界面(也就是mysql后),出现如下界面:
我们点击Add New Connection ,选择MySQL:
出现如下界面:
这里就是我出现错误的地方,如果你的MySQL版本是8.0以上,数据库会连接失败,原因是这个MySQL驱动不支持MySQL 8的caching_sha2_password
加密方式。如果继续用这个插件,可以将数据库的用户加密改为mysql_native_password
方式。
修改如下,我们进入dos中启动mysql,输入:
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘11111111’;
mysql>不要复制进去,这是mysql的输入提示符,by之后是密码,改成自己的。引号不要去掉,分号要加上。
然后我们在进入如下界面:
到这里我们就成功的连接了数据库。之后可以在VScode中输入MySQL的命令,进行数据库的操作。
第一次发文章,不足之处还望大家海涵和指点。最后,感谢新课的老师,让我学到了很多python知识,希望以后的自己越来越好,也希望能帮助与我有相同困难的人。想获取更多资料,可以关注新课的微信公众号。