之前自学了数据库基础的部分,拿出来分享一下。
首先说明本人用的是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
修改用户密码
alter user 用户名 identified by '改后密码';
删除用户两种方法
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