WHCSRL 技术网

安装MySQL、卸载MySQL、使用MySQL、SQL操作(CRUD)

MySQL数据库相关知识

内容不多,等日后逐一补齐

安装MySQL

  1. 安装包安装,点击“下一步”

  2. 文件配置cmd安装

    #配置my.ini
    basedir = D:mysql5.7  		  该参数指定mysql安装目录
    datadir = D:mysql5.7data    该参数指定mysql数据文件存放目录
    
    • 1
    • 2
    • 3
    #在bin目录下cmd安装并启动
    mysqld -install       安装mysql
    net start mysql       启动mysql服务
    
    • 1
    • 2
    • 3

卸载MySQL

停止mysql服务,删除mysql文件,删除数据残留,删除注册表

#数据残留路径
C:ProgramDataMySQL
  • 1
  • 2
#注册表路径
计算机HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesEventLogApplicationMySQL
  • 1
  • 2

使用MySQL

  1. 代码创建:创建数据库,使用数据库,统一编码,创建数据表,插入表记录

    create database friend default character set utf8;
    use friend;  set names gbk;
    
    create table stu_xu(
    id int primary key auto_increment, 
    name varchar(10) not null);
    
    insert into stu_xu values(1001,'张三');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  2. 可视化工具:Navicat

CRUD操作

C创建
#创建数据库
create database 库名;
#创建数据表
   #不加条件
   create table 表名(字段名  类型,字段名  类型);
   #约束类型:主键、自增、非空、唯一、外键
      主键:primary key
      自增:auto_increment
      非空:not null
      唯一:unique
      外键:foreign key
#创建视图 (视图是表的投影)
create view 视图名 as select...from 表名 where 条件;
#创建索引
create index 索引名 on 表(字段);
#插入数据记录
insert into 表名 values(值1,值2,..);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
R查找
#查看数据库
   #查看编码
   show variables like 'char%%';
   #查看数据库
   show databases;
#查看数据表
   #查看表
   show tables;
   #查看表结构
   desc 表名;
#查看视图
select * from 视图名;
#查看数据记录
   #简单查询(六子句)
   select(结果集)..from(表)..where(条件)..group by(分组)..having(再过滤)..order by(排序)..limit(分页)..
   #子查询(非关联)
   #子查询(关联)
   #表间关联(内连接)
   #表间关联(外连接)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
U更新
#修改数据库
#修改数据表
   #增加字段
   alter table 表名 add 字段 类型;
   #修改字段类型
   alter table 表名 modify 字段 新类型;
   #修改字段名
   alter table dept_xu change des aa varchar(10);
   #删除字段
   alter table 表名 drop 字段名;
#修改数据记录
   #更新数据
   update 表名 set 字段=新值,字段=新值 where 条件;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
D删除
#删除数据库
#删除数据表
drop table 表名;
#删除视图
drop view 视图名;
#删除数据记录
   #删除数据
   delete from 表名 where 条件;
   #清空数据
   truncate table dept_xu;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

补充

#查看语句执行时间
show variables like '%%pro%%';
#开启
set profiling=1;
#查看
show profiles;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
存储过程
#创建存储过程:查询员工表中最高薪水
delimiter //
create procedure maxSalary()
begin
select max(salary) from emp_xu;
end //
delimiter ;

#调用存储过程
call maxSalary();

#创建带有输出存储过程:查询员工表中最高薪水、最低薪水、平均薪水
delimiter //
create procedure empSalary(
out max_salary double(7,2),
out min_salary double(7,2),
out avg_salary double(7,2)
)
begin
select max(salary) into max_salary from emp_xu;
select min(salary) into min_salary from emp_xu;
select avg(ifnull(salary,0)) into avg_salary from emp_xu;
end //
delimiter ;

#调用 
call empSalary(@max_salary,@min_salary,@avg_salary);

#查看 
select @max_salary,@min_salary,@avg_salary;

#创建带有输入输出参数存储过程:根据员工号查询员工姓名
delimiter //
create procedure getName(
in dt int,
out dn varchar(10)
)
begin
select ename into dn 
from emp_xu where empno=dt;
end //
delimiter ;

#调用 
call getName(1004,@dn);

#查看 
select @dn;

#删除存储过程
drop procedure getName;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
用户权限
用户管理
DCL:权限
create usergrant
evoke

//切换mysql数据库
use mysql;

//创建用户a 
create user a@'localhost' identified by '1234';

//分配权限
操作jsd库中所有表权限
grant all on jsd.* to a@'localhost';

//回收权限
revoke delete on jsd.* from a@'localhost';

//a用户登录
cmd 
cd 路径
C:MySQLMySQL Server 5.5in

mysql -h localhost -u a -p1234

//当前用户
select user();

use jsd;
set names gbk;
select * from emp_xu;

localhost:127.0.0.1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

SQL划分
DDL 结构 createalterdrop
DML 数据 insertupdatedelete
TPL 事务 commit ollback
DQL 查询 基础查询、子查询、表间关联
DCL 权限 create usergrant evoke

推荐阅读