python之路--MySQL数据库初识
一 . MySQL安装
# 下载MySQL地址
https://dev.mysql.com/downloads
# 要选稳定的,不要选最新的,稳定的就是半年以上没有出现过bug 现在5.6.43为绝大多数使用的
按照下面的图示来下载,下载的是zip压缩包,解压之后就能用了.
下载完成后进行安装
解压压缩包,放到自定义的目录下面
配置一下环境变量,将bin这个文件夹添加到环境变量
启动MySQL: net start mysql
关闭MySQL: net stop mysql
连接mysql: 使用管理员的身份打开cmd,然后输入mysql -u root -p # 此时没有密码直接回车就可以
二 . MySQL安装目录介绍
三 . 给MySQL设置密码
方法1: 用SET PASSWORD命令
首先登录MySQL,使用mysql自带的那个客户端连接上mysql。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin (因为我们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所以可以直接使用这个mysqladmin功能,使用它来修改密码)
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
当使用第二种方法的时候,会有warning警告,明文密码不安全,别人可以翻看指令的历史记录来查看设置的密码,但是不影响下一步
所以最好进入mysql再进行密码的修改和设置
方法3:用UPDATE直接编辑那个自动的mysql库中的user表
首先登录MySQL,连接上mysql服务端。
mysql> use mysql; 所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个库里面的表。
mysql> update user set password=password('123') where user='root' and host='localhost';
其中password=password('123') 前面的password是变量,后面的password是mysql提供的给密码加密用的,不再在是明文,其中user是一个表,存着所有的mysql用户的信息。
mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功。
四 . SQL语句的基本操作(输入语句后要加分号)
SQL语句主要是针对数据库里面的 库 表 行 这三个对象进行增删改查.
库(data文件夹中的文件,每创建一个库,这个库的名称就是文件夹的名称,里面保存着一些这个库的初识信息)
增: create database db1; # 创建一个库
删: drop database db1; # 删除数据库
改: alter database db1 charset utf8; # 修改库的字符集
查: show databases; #查看数据库中所有的库
show create database db1; # 查看单独某个库db1的信息
表(操作文件,表是上面库文件夹里面的文件)
先切换库: use db1; # 要操作表文件,要先切到对应库下才能操作表
查看当前所在的是哪个库: select database();
增: create table t1(id int, name char(10)); # 创建表的时候需要字段,(就是Excel表中的表头),每个字段需要加上数据类型,int是整数,char(10) 是最多10个字符.里面什么都不写默认1.
删: drop table t1;
改: alter table t1 modify name char(3); # 修改字段的属性, 把name的字符长度改为最多3个, 然后可以展示一下,show table t1;
alter table t1 change name(就字段) name1(新字段) char(10) # 这个可以改字段名字 ,数据类型也可以更改.
alter table 表名 add 字段名1, 字段名2 数据类型; # 在表中增加字段名.
alter table 表名 add 字段名 数据类型 first; 放首位
alter table 表名 add 字段名 数据类型 after 字段名2; # 把地段名加到字段名2的后面.
alter table 表名 drop 字段名; # 删除表名中的字段名.
alter table 表名 rename 新表名; # 改表名
查: show tables; # 查看当前库中所有的表
show create table t1; # 查看单表中的创建信息
desc/describe t1; # 查看表信息
行(操作文件(表)中的内容/记录) (*******非常重要)
增: insert into t1 values(1,'赌神'),(2,'赌侠'); # 内容要和字段的个数对应好. 删: delete from student where id = 1; # 删除 id 为 1 的行 或者id>1或者id<1 也行. truncate + 表名; # 直接清空表, 删大表的时候用它,使用自动增长的时候删除也用它. 改: update t1 set name = '周润发' where id = 2; # 把id为2的name数据改为周润发. update t1 set name = '周润发'; # 把name字段下的所有数据都改为周润发. 查: select * from db1; # 查看db1表中所有数据. select id, name from student; # 查看id和name字段下的数据.