当前位置 : 主页 > 编程语言 > java >

【MySQL】操作总结

来源:互联网 收集:自由互联 发布时间:2022-06-30
一 命令行启动MySQL服务端有两种方式: 方式1(手动方式): 先启动命令行,然后定位到MySQL安装路径下的bin目录,输入mysqld即可启动mysql服务端 也可提前设置好环境变量,这样就不用

一 命令行启动MySQL服务端有两种方式:

方式1(手动方式):

先启动命令行,然后定位到MySQL安装路径下的bin目录,输入mysqld即可启动mysql服务端【MySQL】操作总结_数据库
也可提前设置好环境变量,这样就不用先切换mysql安装路径了,直接输入mysqld即可

方式2(注册windows服务):

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --install MySQL80

服务名上面设置的是MySQL80,也可自己取(针对Mysql 8.0 的版本),注意手动配置MySQL压缩包才需要注册windows服务,如果使用可执行程序直接安装MySQL,则windows服务已经注册好 了,无需手动注册,手动安装MySQL博客教程待完成
1 查看系统中所有数据库

注册好windows服务之后,直接使用​​net start MySQL80​​​即可启动MySQL服务端,使用​​net stop MySQL80​​来关闭MySQL服务端

二 接下来启动MySQL客户端

如果没有设置环境变量,还是需要先切换到安装MySQL的bin目录,输入下面命令,再输入密码即可

mysql -u root -p

也可以直接点击MySQL 8.0 Command Line Client,输入密码登陆

三 操作数据库

(1)操作数据库级别

create database db2; 创建数据库db2
create database db2 default charset utf8; 创建并设置编码
show databases; 查看系统所有数据库
drop database db2; 删除db2数据库

(2)操作数据表级别

首先需要选定指定数据库,命令为

use 数据库名称;show tables; 查看该数据库里面的所有数据表
create table t1(id int,name char(10)) default charset=utf8; 创建表t1,含id,name两列
create table t1(id int,name char(10)) engine=innodb default charset=utf8; 创建表,并设置引擎可以处理意外事故(原子事件)
create table t3(id int auto_increment primary key,name char(10))engine=innodb default charset=utf8; 创建表,其中id为自增,自增列必须设置key,可为主键

对于自增列在插入数据的时候,如果不设置任何值也会有默认值,并自动增加

delete from t1; 清空表的内容,但自增列新增数据时,值会接着往上加
truncate table t1; 清空表的内容,同时自增列的初始值还原,比如1
drop table t1; 删除表t1

​​补充创建数据表的时候创建外键​​

(3)操作数据表中内容级别

插入数据:
insert into t1(id,name) values(1,'alex');
删除:
delete from t1 where id<6
alter table A drop column score #删除表A的score列
修改:
update t1 set age=18;
update t1 set age=18 where age=17;
查看数据:
select * from t1;

(4)创建用户,并给用户授权

#创建用户alex,对主机地址192.168.1.1生效,密码为123123
create user 'alex'@'192.168.1.1' identified by '123123';

#创建用户alex,对主机地址192.168.1.0--192.168.1.255内都生效,密码为123123
create user 'alex'@'192.168.1.%' identified by '123123';

创建用户alex,对所有主机都生效,密码为123123
create user 'alex'@'%' identified by '123123';

创建了用户之后,还需要赋予用户权限才能操作数据库,下面是用户授权的方法

#赋予alex用户查询,插入,修改数据库db1中t1数据表的权限,对所有主机生效
grant select,insert,update on db1.t1 to 'alex'@'%';

#赋予alex用户操作数据库db1中t1表的所有权限,对所有主机生效
grant all privileges on db1.t1 to 'alex'@'%';

#删除alex用户操作数据库db1中t1表的所有权限,对所有主机生效
revoke all privileges on db1.t1 from 'alex'@'%';


【文章原创作者:香港服务器 http://www.558idc.com/hk.html提供,感谢支持】
网友评论