MySQL数据库学习一——MySQL基本操作、授权、远程连接

1.什么是数据库(简介,如需详情请自行百度)

MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。这意味着任何一个人都可以使用MySQL而不用支付一毛钱。 另外,如果需要,还可以更改其源代码或进行二次开发以满足您的需要。

linux 安装

​ sudo apt install mysql-server

2.连接数据库

#mysql安装后默认有一个root用户,可以先使用root用于登陆
$>mysql -u 用户名 -p
$>mysql -u root -p

window
	把 C:\Program Files\MySQL\MySQL Server 8.0\bin,加到环境变量中,
	才可以在终端上运行: mysql -uroot -p
	
linux配置文件
	/etc/mysql/mysql.conf.d

linux中重启mysql:
	service mysql restart
	或者
	/etc/init.d/mysql restart
2-1:用户管理:
2-1-1:创建用户(需要使用root用户)

create user ‘用户名’@‘IP地址’ identified by ‘密码’;

IP地址一共有三种:
localhost -> 代表本地,只能进行本地的登陆
x.x.x.x -> 代表某一IP地址段,一般最后一位用%
% -> 代表所有,允许远程访问,包括localhost和x.x.x.x
# 允许eric用户在本地登录
>create user 'eric'@'localhost' identified by '123456';

# 允许10.0.122.*网段使用eric用户登录
>create user 'eric'@'10.0.122.%' identified by '123456';

# 允许eric用户在任何地方登录
>create user 'eric'@'%' identified by '123456';
>create user eric identified by '123456';
2-1-2:查看用户:
>use mysql; #切换数据库
>select user,host from user; #查询user数据库中的用户和登陆地址
2-1-3:删除用户:
>drop user '用户名'@'IP地址';
2-1-4:修改用户密码:
>set password for '用户名'@'IP地址' = password('新密码');
>set password for '用户名'@'IP地址' = '新密码';
2-2:授权管理:需要root用户
2-2-1:查看权限:

show grants for ‘用户名’@‘IP地址’;

2-2-2:给用户授权:

grant 权限 on 数据库.表 to ‘用户名’@‘IP地址’;

#用户eric只能对axf数据库下的t1表进行查看和插入操作
>grant select,insert on axf.t1 to 'eric'@'%';
#用户eric只能对axf数据库下的所有表进行查看和插入操作
>grant select,insert on axf.* to 'eric'@'%';
#给用户eric对axf数据库的所有表,添加所有权限
>grant all privileges on test.* to eric;
#给用户eric对所有数据库的所有所有表,添加所有权限
>grant all privileges on *.* to eric;

#取消授权:
>revoke 权限 on 数据库.表 from '用户名'@'IP地址';
#更改用户可登录ip地址
>use mysql;
>update user set host='localhost' where user='root';

#如果是其它用户还需要授权
grant usage on *.* to eric;
#将数据读取到内存,立即生效
>flush privileges
Mysql开启远程连接

1#登陆mysql
	$ mysql -uroot -p
	mysql> use mysql;
	mysql> update user set host = '%' where user = 'root';
	mysql> select host, user from user;
	+-----------+------------------+
	| host      | user             |
	+-----------+------------------+
	| %         | root             |
	| localhost | debian-sys-maint |
	| localhost | mysql.session    |
	| localhost | mysql.sys        |
	+-----------+------------------+
	4 rows in set (0.00 sec)

2#ok 退出MySQL 重启服务
	mysql> quit;
	$ service mysql restart
	#发现客户端远程还是连接不上 继续修改mysql.cnf配置文件
	#需要root权限,配置文件是只读的
	$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
	#第43行改成0.0.0.0
    bind-address          = 0.0.0.0
	#重启服务
	$ service mysql restart;
	#ok 可以了

3.管理mysql常用命令

这里是重要的MySQL命令,经常在MySQL数据库的管理或工作中使用:

#创建数据库
#数据库编码为utf-8:
>create database 数据库名 charset utf8;
#数据库编码为gbk:
>create database 数据库名 default charset gbk;
#删除数据库
>drop database 数据库名
#查看当前选择的数据库
>select database();
#查找记录
select * from mysql.user;
#查看前用户
select user();
#用于选择在MySQL工作区指定的数据库。
>use 数据库名;  
#列出了MySQL数据库管理系统中的所有可访问的数据库。
>show databases;
#显示已经选择数据库中的表的命令。
>show tables; 
#MySQL数据库断开
>exit

#查看表结构
desc 表名;

4.CRUD

4-1、增

建表:

CREATE TABLE table_name (column_name column_type);

例如:

create table student(
    id int not null auto_increment primary key,
    sex bit,
    age int default'18',
    name char(20),
    info varchar(100),
    birthday date
);

注意:

a、全列插入

格式:insert into 表名 values(…);
说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功以后以实际数据为准
示例:insert into student values(0,“tom”,19,1,“北京”,0);

b、缺省插入

格式:insert into 表名(列1,列2,……) values(值1,值2,……);
说明:表名后注明需要插入的属性,这样就可以选择性的插入允许为空的数据
示例:insert into student(name,age,address) values(“lilei”,19,“上海”);​

c、同时插入多条数据

格式:insert into 表名 values(…),(…),……
说明:无
示例:insert into student values(0,“hanmeimei”,18,0,“北京”,0),(0,“poi”,22,1,“海南”,0),(0,“wenli”,20,0,“石家庄”,0);

4-2、删

格式:delete from 表名 where 条件;
​示例:delete from student where id=4;
注意:没有条件是全部删除,慎用

4-3、改

格式:update 表名 set 列1=值1,列2=值2,…… where 条件;
​示例:update student set age=16 where id=7;
​注意:没有条件是全部列都修改,慎用

4-4、查

说明:查询表中的全部数据
​格式:select * from 表名;
​示例:select * from student;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值