主要内容:
0 .数据库的理解
数据库服务器 : 运行数据库管理软件(相当于一台计算机)
数据库管理系统 : 管理数据库(如mysql是一个软件)
数据库: 即文件夹, 用来组织文件/表
表: 即文件, 用来存放多行内容/多条记录
记录: 多个字段的信息组成一条记录, 即文件中的一行内容
1 . mysql软件
服务端软件: 服务端程序 -- 解析指令 -- 对文件的操作;
客户端软件: 客户端程序 -- 发送指令 -- 解析指令;
2 mysql安装
安装mysql服务器软件
启动服务端程序
客户端连接服务器
sql语句
-- 添加环境变量 D:\mysql-5.7.23-winx64\bin;根据你的bin目录决定,用分号隔开
-- 初始化 mysqld --initialize - insecure
-- 开启服务端 mysqld
-- 客户端连接服务端 mysql - uroot - p
3 安装window服务
以管理员身份运行cmd
-- 杀死服务端的进程 : tasklist |findstr mysql tasklill / F / PID
-- 安装windows服务 (mysql服务端软件安装到windows)
: mysqld --install
-- 启动服务
net start mysql 启动服务
net stop mysql 关闭服务
4 密码设置 和刷新权限
设置密码: update mysql.user set authentication_string =password('') where User='root';
刷新权限 : flush privileges
5 破解密码
-- 先把原先的服务关闭, 以管理员的身份运行: mysqld --skip-grant-tables
-- 客户端此时连接服务端的时候不需要写密码直接进去, 此时修改密码, 之后一定要刷新权限;
6 创建用户 对当前用户授权 (root用户拥有)
创建用户:
指定ip : 192.168.1.1 的mjj的用户登录: create user 'mjj'@'192.168.2.134' identified by '123';
指定ip : 192.开头 的mjj的用户登录: create user 'mjj'@'192.%.%.%' identified by '123';
指定ip : 指定任何的ip用户登录: create user 'mjj'@'%' identified by '123';
对当前用户授权:
授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作
grant select on db1.t1 to "mjj"@'%';
表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作
grant all privileges on db1.t1 to "mjj"@'%';
mjj用户对db1数据库中的文件执行任何操作
grant all privileges on db1.* to "mjj"@'%';
mjj用户对所有数据库中文件有任何操作
grant all privileges on *.* to "mjj"@'%';
取消授权:revoke select on db1.s1 from "mjj"@'%';
7 统一字符编码
把修改好my.ini文件放入数据库里,和bin目录同级, 然后重新开启服务.
对于my.ini文件的路径改为你放入地方的路径;
8 sql 语句
show databases; 查看所有的数据库
create database db1; 创建数据库db1
use db1; 进入数据库
1 )操作文件夹 (库)
增: create datebase db1;
查: show create database db1;
改: alter database db1 charset gbk;
删: drop database db1;
2 ) 操作文件(表)
首先进入到文件 : use db1;
增 : create table t1(id int , name char(10));
查 : show create table t1; 查看所有的表: show tables 查看表的详细信息: desc t1;
改 : alter table t1 modify name char(7) modify修改的意思.
alter table t1 change name NAME char(7) 改变name为大写的name
删 : drop table t1;
3 ) 操作文件内容(记录)
增 : insert into t1(id,name) values(1,'lili'),(2,'dd');
查 : select * from db1.t1; 查看所有
select id from db1.t1 单查看id
改 : update db1.t1 set name= 'uu' 改了所有的名字
update db1.t1 set name = 'tt' where id = 2 改了id等于2的名字
删 : delete from t1; 删除表里的内容
delete from t1 where id = 2 删除id等于2一行的内容