MySQL(1):初识SQL
一、前言
mysql :是用于管理数据的软件
mysql是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
分为服务端和客户端(也是基于c/s架构的程序)
服务端:
- socket服务端
- 本地文件操作
- 解析指令(sql语句)
客户端:
- socket客户端
- 发送指令
- 解析指令(sql语句)
需要掌握
- 安装服务端和客户端
- 连接
- 学习sql语句规则,指示服务端做相应的操作
其他了解
类似软件
- 关系型数据库:sqllite,db2,oracle,access,sql server,mysql
- 非关系型数据库:mongodb,redis 等等
二、mysql安装
在linux上可rpm或者yum install 。。。即可安装上
在windows上:
1、可执行文件
mysql installer 链接地址:
下载完成之后,下一步 下一步即可 具体可访问此地址查看
2、压缩包(zip)形式
windows (x86, 64-bit), zip archive 访问地址:
压缩包形式好处是可以放置任意目录
下载完成之后,比如放到windows上的d盘
1、解压之后 如上图
2、初始化工作
以管理的身份运行cmd dos窗口
例如 路径为 d:\mysql-5.7.23-winx64\mysql-5.7.23-winx64
就需要在dos窗口 敲 d:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld --initialize-insecure 此时即可完成初始化操作
默认生成一个root用户 密码为空
3、启动服务端
d:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld 在dos窗口执行此行 会出现socket (accept,recv)阻塞 或者 while 循环 input 的效果
4、客户端连接
d:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld -u root -p 密码为空 回车即可进入
发送 show databases ; 指令
3、 环境变量的配置
打开计算机属性,高级系统设置,环境变量,系统变量框下的path项点击编辑,将指针移到开头加上 ; ,然后在分号前面输入mysql的bin目录路径即可。
这样每次在dos窗口就不需要加路径这么长的前缀了 只需要输入 mysql -u root -p 等等 就行了
但是系统一关机再开机之后 mysql这个服务是没有自启动的,每次重启机器后 都需要 在管理员dos窗口运行一次 mysqld
这样每次都需要手动执行一遍mysqld 太麻烦了 这里就可以制作成windows服务
4、制作windows服务
可在图形中点击启动按键
也可在dos(管理员)输入 net start mysql 启动
net stop mysql 停止
三、连接sql
数据库的结构大致也分为
文件夹【数据库】
文件【表】
数据行【行】
这样的结构
默认的用户 超级管理员 : root
初始状态下,管理员root,密码为空,默认只允许从本机登录localhost 设置密码 mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用 mysqladmin -uroot -p"123" password "456" 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
show databases; use 数据库名称; show tables; select * from 表名; select name,age,id from 表名; mysql数据库user表 use mysql; select user,host from user;
用户管理
创建用户 create user '用户名'@'ip地址' identified by '密码'; 删除用户 drop user '用户名'@'ip地址'; 修改用户 rename user '用户名'@'ip地址'; to '新用户名'@'ip地址';; 修改密码 set password for '用户名'@'ip地址' = password('新密码') ps:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
创建用户和授权
创建用户: create user '用户名'@'ip地址' identified by '密码'; create user '用户名'@'192.168.1.%' identified by '密码'; create user '用户名'@'%(代表任意)' identified by '密码';
show grants for '用户'@'ip地址' -- 查看权限
授权: grant select,insert,update on 库名.表名 to '用户名'@'%'; grant all privileges(代表除授权外的所有权限) on db.表名 to '用户名'@'%'; 解除权限 revoke all privileges on db.表名 from '用户名'@'%'; 实际情况(dba: 用户名密码 会给对应表 或 库 的相应权限用户)
all privileges 除grant外的所有权限 select 仅查权限 select,insert 查和插入权限 ... usage 无访问权限 alter 使用alter table alter routine 使用alter procedure和drop procedure create 使用create table create routine 使用create procedure create temporary tables 使用create temporary tables create user 使用create user、drop user、rename user和revoke all privileges create view 使用create view delete 使用delete drop 使用drop table execute 使用call和存储过程 file 使用select into outfile 和 load data infile grant option 使用grant 和 revoke index 使用index insert 使用insert lock tables 使用lock table process 使用show full processlist select 使用select show databases 使用show databases show view 使用show view update 使用update reload 使用flush shutdown 使用mysqladmin shutdown(关闭mysql) super
相关文章:
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论