mysql (关系型数据库)
安装
或者
使用命令检查启动
若忘记MySQL密码!!!
找回mysql密码
1、找回密码的方式(密码尽量使用大小写以及数字符号混合不低于8位)
a、关闭数据库服务:systemctl stop mysql
/etc/mysql/mysql.conf.d.mysqld.cnf
b、在 mysqld.cnf[my,cnf] 文件中加的mysqld字段中加入 skip-grant-tables
c、启动并使用mysql命令链接进入
d、1、创建一个新用户并授权:grant all on . to ‘python’@’%’ by ‘yourpasswrod’
刷新权限:flush privileges
2、找回root密码:updata mysql.user set
e、刷新权限:flush privileges;需要使用exit命令退出
f、将 bind 127.0.0.1 这一行注释掉(用以打开远程访问限制)
g、重启服务
h、验证:mysql -uroot -yourpassword
mysql 数据库管理命令(mysql的命令均以分号结尾)
show databases; 查看当前有哪些数据库
注意:mysql的user表定义了用户以及权限。我们可以通过修改该表的数据实现用户的新增以及授权操作
use ; 将datbaasename指定的库作为当前的工作库
show tables; 查看当前库的列表
select database(); 查看当前工作库
drop database ; 删除指定数据库
关于授权:第一种使用grant语句
grant 权限列举[all] on 库名.表名 [.] to username@host[% | localhost] identified by 密码 [with grant option(给前面的用户授予授权的权利)]
1.表操作:
1、创建表:create table tablename(列名 数据类型 约束条件,列名 数据类型 约束条件,列名 数据类型 约束条件)charset=utf8 指定表内容字符串编码集
重要的约束选项:
*primary key 主键约束 该列将作为主键使用(该列的值不能重复)
unique 唯一约束 允许 null重复出现
*auto_increment 自增约束,当该列为整形时 值自增
*foreign key 外键约束 主要用来实现表与表之间的关系
*not null 非空约束 该列内容不允许为空
数据类型:
int(n<11) 定义一个n位的整数
varchar(n<60000) 定义一个长度为 n个字节的字符串类型
float(n) 定义一个小数为n位的浮点数
text() 定义一个text类型的数据
double(m,n) 定义一个长度为m 小数位为n的双精度浮点数
外键约束定义:
外键在从表中定义,定义是需要注意外键列的数据类型必须和参照列的类型一致(数据长度、编码类型、数据类型)
主表的参照列需要定义主键或者索引
constraint[约束名] foreign key(外键列名) references <主表名>(<参照列名>)
查询指定库中所有的表格
1、查指定表
select * from ; 查询数据
show create table cart; 查看表结构信息
desc table; 查看表结构
2、表内数据添加:
形式一:insert into (列名1,列名2,…)values(values1,values2,…);
注意值与列名的一一对应关系,外键约束关系,字段约束。
形式一:insert into values(values1,values2,…);
注意:不推荐该形式,value和列进行对应,和定义的顺继有关。
3、更新数据
update set 列名=value,列名2=value2,… where 列名=列值
更新指定列的值等于列值的数据的指定列 注意where子句的限制
4、删除表数据
delete from ;
删除指定表中的符合where条件的数据行
5、清除表内容
truncate table ;
两条命令的区别点:4不重置自增属性,
6、修改表达的语句
1、给表新增或者修改指定列
alter table [add | modify] 列名 约束列
2、调整数据列顺序
alter table change 列名 列名 属性约束 after 列名2
将列名指定的列调整到列名2指定的列之后
3、删除一个列/行
alter table drop 列名
delete from where 列名=值;
4、修改表名
alter table rename to 列名
5、修改备注
可以在定义数据列以及表的时候使用comment 关键字给其加上注释
查看备注
3.备份命令:
在终端执行上述命令
删除库
还原库:
先决条件要求DBMS中有我们要还原的数据库(空库)