首页 > 数据库 >Mysql的一些基操

Mysql的一些基操

时间:2022-12-04 21:35:14浏览次数:48  
标签:username 基操 name 用户 host Mysql test 一些 权限

一、用户权限问题

创建用户并授权

mysql创建用户的方法分成三种:CREATE USER的方法、GRANT的方法、INSERT USER表的方法。

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • username:你将创建的用户名
  • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
  • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
GRANT <ALL|priv1,priv2,.....privn> ON [object] [IDENTIFIED BY 'password'] [WITH GRANT OPTION];
GRANT privileges ON databasename.tablename TO 'username'@'host';
  • privileges:用户的操作权限,如SELECTINSERTUPDATE等,如果要授予所的权限则使用ALL
  • priv:代表权限select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
  • databasename:数据库名
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

注意:WITH GRANT OPTION:使授权的用户可以给其它用户授权

 

 insert into user (host,user,password) values ('%','lalala',password('123'));

 

完成用户的创建后,请记得刷新系统权限表;

flush privileges;

 

 

更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户用:

SET PASSWORD = PASSWORD("newpassword");

 

 

撤销用户权限

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

删除用户

DROP USER 'username'@'host';

二、增删改查

mysql基本常用命令:
use test; 切换库 
show tables; 查看所有表 
show databases; 查看所有库 
describe test; 查看表结构 
desc test; 查看表结构 
select user,host from mysql.user;查看所有用户 

新增库

#新增库,使用DDL语句创建数据库:CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符编码;
create database test default character set utf8;
#删除库
drop database test;
#查看库实例
show databases;
#查看数据库编码
select schema_name,default_character_set_name from information_schema.schemata where schema_name = 'test';
#修改实例编码
update information_schema.schemata set default_character_set_name = 'utf8' where schema_name = 'test';

新增、删除表或者表的某一列

# create用来创建表,alter用来修改基本表,是对表的结构进行操作,update用来修改表中的数据,修改某一行某一列的值
基本用法:
alter table <表名>
[add <新字段名><数据类型><约束条件>]添加新的字段
[drop <字段>]删除表中某个字段
[modify <字段><数据类型>]修改字段的类型

例如:

create table test(employee_id int,employee_name varchar(10),salary float(8,2));
alter table test add id; #增加id这一列表结构
FLUSH PRIVILEGES;

作用:是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
MySQL用户数据和权限有修改后,希望在”不重启MySQL服务”的情况下直接生效,那么就需要执行这个命令。

新增数据

insert into student_trace (ID,name,trace,data_date) values (01,"张三",89.5,20220310);

新增索引以及主键

索引以及主键的作用:

主键:

外键:

索引:

 

 

标签:username,基操,name,用户,host,Mysql,test,一些,权限
From: https://www.cnblogs.com/wh522355762xzsx/p/16950861.html

相关文章

  • mysql备份与恢复
    Mysql的备份日志MySQL的日志默认保存位置为/usr/local/mysql/data配置文件:vim/etc/my.cnf[mysqld]#错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默......
  • mysql高阶语句
    Mysql高阶语句按关键字排序:数据准备:表名:info属性:id、name、score、address、hobbidcreatetableinfo(idint,namevarchar(10)primarykeynotnull,scoredecim......
  • MYSQL主从复制与读写分离
    一、MySQL主从复制的理论部分1.1mysql支持的复制类型STATEMENT∶基于语句的复制。在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制,执行效......
  • Docker通过挂载方式部署MySQL8
    一、docker部署MySQL1.1.拉取镜像dockerpullmysql1.2.查看镜像dockerimages1.3.启动容器dockerrun\--restart=always\--privileged=true\-p3306:33......
  • 第九周总结-MySQL、前端
    多表查询的两种方式1.连表操作: 1.1:innerjoin:内连接,将两张表共同的部分连接在一起生成一张新表。凭借顺序是把后面的表拼在前面表的后面,如果颠倒位置结果不同。 s......
  • 记rust操作mysql增删查改
    //Cargo.toml[dependencies]mysql="*"chrono="0.4"//filename:mysql_helper.rs//filename:mysql_helper.rsusemysql::*;usemysql::prelude::*;pubstructUser{......
  • MySQL知识点
    1、慢sql优化问题分页查询中的慢查询优化问题:select*fromempwhereename='svZLER'limit10000,10;//这条语句消耗51sselect*fromempwhereidin(select......
  • MySQL进阶sql语句①
    一.MySQL进阶查询1.1排序(orderby)①使用orderby语句进行排序ASC:升序,默认的排序,使用orderby时,会默认该排序DESC:降序排序可针对对一个或多个字段,多字段要第一个字......
  • CentOs 8 安装Mysql
    1.安装数据库wgethttps://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpmrpm-ivhmysql80-community-release-el7-1.noarch.rpmyuminstallmysql-serv......
  • cpp mysql libmysqlcppconn-dev create table and insert multiple values into the t
    //Util.h#pragmaonce#include<chrono>#include<ctime>#include<dirent.h>#include<fstream>#include<iostream>#include<thread>#include<unistd.h>#inc......