数据库的下载
- 添加源
rpm -ivh https://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
- yum 安装
yum install mysql-community-server -y --nogpgcheck
-
数据库的常规操作(增删改查)
登录数据库
mysql -uroot -p1;
- 增加数据库
create database<数据库名>,`` create database db1 charset utf8;
- 查看数据库
show databases;
- 修改数据库
alter database db1 charset latin1;
- 删除数据库
drop database db1;
对于表的操作
- 修改表中的数据使用update
update t1 set name='sb' where id=2;
- 进入到某一数据库中 use
use db1;
- 删除表中的某一数据
delete from t1 where id=1;
- l两种删除表的方法的对比
- delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始
- truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,
- l两种删除表的方法的对比
- 删除表
drop table t1;
远程连接数据库
- tcp/ip 方式:示例代码:
mysql -uroot -p777 -h 192.168.80.128 -P3306
socket 方式:示例代码:
mysql -uroot -p -S /tmp/mysql.sock
存储引擎(表)
InnoDB
- ⽀持事务,主要⾯向在线事务(OLTP)处理的应⽤;
- ⾏锁设计、⽀持外键、⽀持类似于Oracle的⾮锁定读;
- 从5.5.8版本开始,InnoDB存储引擎是默认的存储引擎;
- 将数据放在⼀个逻辑的表空间中,这个表空间就像⿊盒⼀样由InnoDB存储引擎⾃身进⾏管 理;
MyISAM
查看默认存储引擎
show engines\G;
- 创建指定存储引擎的表
create table ai(id bigint(12),name varchar(200)) ENGINE=MyISAM;
create table country(id int(4),cname varchar(50)) ENGINE=InnoDB;
- 切换存储引擎
alter table ai engine = innodb;
配置文件修改存储引擎
vim /etc/my.cnf `` default-storage-engine=INNODB
SQL语句
用户管理
创建用户
create user eagle@192.168.33.128 identified by '1';
- 查询用户
select user,host,password from mysql.user;
- 修改用户密码
use mysql
update user set password=password('2') where user='eagle' and host='192.168.33.128';
- 删除用户
drop user eagle@192.168.33.128;
管理员密码设定
示例:mysqladmin -uroot -p password 1
(这里的1输入的是新密码)
在Enter password界面中输入的是旧密码忘记密码时的操作
- 停止数据库服务
systemctl stop mariadb.service
- 跳过授权登录
mysqld_safe --skip-grant-tables --skip-networking &
- 登录mysql修改密码
mysql
- 刷新数据库中的用户信息
MariaDB [mysql]> flush privileges;
- 重启数据库
pkill mysqld
systemctl restart mariadb
用户权限管理
示例代码grant all on *.* to eagle@'%' identified by '123';
ALL还可以替换为 SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE
- ALL : 以上所有权限,一般是普通管理员拥有的
- with grant option:超级管理员才具备的,给别的用户授权的功能
- .: 前面对应的对应的是库名,后面的对应的是表名
权限的回收,实例
revoke delete on *.* from eagle@'%'
对于表的管理
建表
create table staff_info ( id int,name varchar(50), age int(3), sex enum('male','female'), phone bigint(11), job varchar(11) );
- 插入数据 三种方式
insert into staff_info (id,name,age,sex,phone,job) values (1,'xwz',83,'female',13651054608,'IT');
insert into staff_info values (2,'cs',26,'male',13304320533,'Teacher');
insert into staff_info values (3,'tj',25,'male',13332353222,'IT'), (4,'fcy',40,'male',13332353333,'IT');
- 查看表的结构
describe staff_info;
- 更全面的表定义信息
show create table staff_info\G;
修改表
- 重命名
alter table staff_info rename staff;
- 删除一列
alter table staff drop sex;
- 删除表中的某一数据
delete from t1 where id=1;
- 添加列
alter table staff add sex enum('male','female');
- 修改id长度
alter table staff modify id int(4);
- 修改name字段名
alter table staff change name sname varchar(20);
- 修改sex列的位置
alter table staff modify sex enum('male','female') after sname;
- 创建id自增主键
alter table staff modify id int(4) primary key auto_increment;
- 删除主键
- 删除主键自增约束
alter table staff modify id int(11);
- 删除主键自增约束
- 删除主键约束
alter table staff drop primary key;
- 删除主键约束
- 添加联合主键
alter table staff add primary key (sname,age);
- 删除主键
alter table staff drop primary key;
- 为主键添加自增属性
alter table staff modify id int(4) auto_increment;
数据类型
整数类型
在创建表的数据的时候指定数据类型是必须的操作,下表中的数据都可以使用
日期时间类型
日期时间类型数据使用案例
- 重命名
data/time/datatime实例
create table t4 (d date,t time,dt datetime)