MySQL-基础学习(一)

之前自学了数据库基础的部分,拿出来分享一下。

首先说明本人用的是MySQL8.0.17的版本,8版本和之前的版本有些地方可能不太一样;

如果MySQL不会安装的可以参考菜鸟教程的安装方法;

mysql语法里的大小写是一样的没有特别规定,同时需要注意的是在MySQL里输入语法后要输入 ; 的,直接回车无法执行,
首先来了解一下MySQL的大体结构

在这里插入图片描述
数据库的连接,退出,创建,删除

连接数据库
-u : 指定登陆MySQL的用户 root最大权限的用户
-p : 显示密码登陆

mysql -u root -p

退出数据库

exit

创建数据库

create database 数据库名;

删除数据库

drop database 数据库名;

mysql5.7以上有的有密码策略(mysql只能设置复杂密码,弱密码无法设置),可进行调整

查询当前密码策略信息

show variables like 'validate_password%';

密码政策设置低

set global validate_password_policy=0;

密码位数随意6位

set global validate_password_length=6;

用户的查看,创建,分权,查权,使用,改密,删除

查看mysql里的所有用户

select user from mysql.user;

创建用户
本机电脑的MySQL,Host设置localhost就行(最好使用这个本地)

create user '用户名'@'localhost' identified by '密码';

服务器安装的MySQL,需要远程外连Host设置 %

create user '用户名'@'%' identified by '密码';

给普通用户分配权限
grant all : ☞全部权限,此处可以指定某些权限;
数据库名.* : ☞数据库下的所有表,此处可以指定表;

grant all on 数据库名.* to '用户名';

查看用户权限

show grants for '用户名';

创建了普通用户分权后就可以用了

mysql -u 用户名 -p

由于版本过高有的图形化界面连接会提示caching-sha2-password密码策略问题,修改加密规则

alter user 用户名 identified by 'password' password expire never;

修改用户密码

alter user 用户名 identified with mysql_native_password by '改后密码';

刷新权限

flush privileges;

删除用户两种方法

drop user 用户名;
delete from user where user='用户名'

进入数据库后先指定数据库

use 数据库名;

查看所有的数据库(此处注意用户,root能看所有的数据库,普通的只能查看授权的数据库)

show databases;

查看数据库下的表(使用此语法的注意先用use指定数据库)

show tables;

创建表结构;
if not exists : ☞判断数据库中是否有此表(有无此语法都可以);
id,name,age : ☞表字段名;
int,varchar(4) : ☞数据类型(字节);
auto_increment : ☞自增;
not null : ☞此处数值不能为null;
default : ☞默认数值;
comment : ☞描述;
primary key(id) : 设置id为键(唯一的);
语法注意;
实例中以 , 来分割表字段名与表字段名之间的参数;
直到看到 ; 才是结束,

create table if not exists 表名(
id int auto_increment,
name varchar(4) not null comment '姓名',
age int(4) default '年龄不祥' comment '姓名',
primary key(id)
);

查看表结构

desc 表名;

查看表结构语法

show create table 表名\G
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章