mysql+用户表+角色表_MySQL用户、数据库、表管理

这篇博客详细介绍了MySQL的用户管理,包括创建、查询、删除用户以及授权和回收权限的操作。此外,还涵盖了数据库的创建、查看、删除及修改字符集,以及表的创建、查询、删除和修改等操作,包括添加、删除、修改列和改表名。最后,讨论了DML语句,如数据插入、更新和删除,以及DQL语句,如选择、排序和限制查询。
摘要由CSDN通过智能技术生成

创建用户

create user zabbix@'10.0.0.%' identified by '123';

查询用户

select user,host,password from mysql.user;

删除用户

drop user root@'db02';

创建用户并授权

grant all on . to root@'10.0.0.%' identified by '123';

查询用户权限

show grants for zabbix@'10.0.0.%';

收回权限

revoke create,drop on testdb.* from zabbix@'10.0.0.%';

创建数据库

create database lufei;

create database llf CHARACTER SET utf8 ;

查看数据库

show databases;

show create database llf;

help create database;

删除数据库

drop database llf;

改库的字符集:

alter database lf charset utf8mb4;

表:

切换数据库

use lufei;

创建:

create table t1 (id int ,name varchar(20));

查询:

show tables;

show create table t1;

desc

删除

drop table t1;

修改:

(1)在表中添加一列

alter table t1 add age int;

(2)添加多列

alter table t1 add bridate datetime, add gender enum('M','F');

(3)在指定列后添加一列

alter table t1 add stu_id int after id;

(4)在表中最前添加一列

alter table t1 add sid int first;

(5)删除列

alter table t1 drop sid;

(6)修改列名

alter table t1 change name stu_name varchar(20);

(7)修改列属性

alter table t1 modify stu_id varchar(20);

(8)修改表名

rename table t1 to student;

alter table student rename to stu;

DML语句:数据操作语言

数据插入

use lufei

create table t1 (id int ,name varchar(20));

insert into t1 values(1,'zhang3');

select * from t1;

insert into t1 values (2,'li4'),(3,'wang5'),(4,'ma6'); //多行数据插入,用逗号隔开

insert into t1(name) values ('xyz'); //指定插入列值的名字

数据修改,更新

update

update t1 set name='zhang33' ; ----会更新表中所有行的name字段,比较危险。!!!!

update t1 set name='zhang55' where id=1; ----update在使用时一般都会有where条件去限制,不要忽略了set哦!

数据删除

delete

delete from t1 ; --删除表中所有行,比较危险。!!! 一行一行删除表中数据。

delete from t1 where id=2;

DDL

truncate table t1; ---在物理上删除表数据,速度比较快。清空表数据

DQL

select 基本查询

DESC world.city

SELECT id ,NAME FROM world.city;

SELECT * FROM world.city;

select 条件查询 where

①查询中国(CHN)所有的城市信息

SELECT FROM world.city WHERE countrycode='CHN';

②查询中国(CHN)安徽省所有的城市信息。

SELECT FROM world.city

WHERE countrycode='CHN'

AND

district='anhui';

③查询世界上人口数量在10w-20w城市信息

SELECT FROM world.city

WHERE

population BETWEEN 100000 AND 200000 ;

④中国或者日本的所有城市信息

where字句中的IN

SELECT FROM world.city

WHERE countrycode IN ('CHN','JPN');

⑤模糊查询

SELECT * FROM world.city

WHERE countrycode LIKE 'ch%';

select 排序并限制

①按照人口数量排序输出中国的城市信息(ASC\DESC)

SELECT FROM world.city WHERE countrycode='CHN' ORDER BY population ASC;

SELECT FROM world.city WHERE countrycode='CHN' ORDER BY population DESC;

②按照多列排序人口+省排序

SELECT * FROM world.city WHERE countrycode='CHN'

ORDER BY id DESC ;

SELECT * FROM city

ORDER BY 5 DESC ;

1-10

SELECT * FROM world.city WHERE countrycode='CHN'

ORDER BY 5 DESC LIMIT 20;

11-20

SELECT * FROM world.city WHERE countrycode='CHN'

ORDER BY 5 DESC LIMIT 10,10 ; //跳过前10,接着选10个出来

**** 牢牢记住下面join on这种语句即可!!!

SELECT ci.name ,ci.countrycode,ci.population ,co.name

FROM city AS ci

JOIN

country AS co

ON ci.countrycode=co.code

AND

ci.name='qingdao';

group by +聚合函数(avg()、max()、min()、sum())

SELECT countrycode ,SUM(population) FROM city

WHERE countrycode = 'chn'

GROUP BY countrycode; //注:不加group by显示出来的结果也是一样的,目前没看出来区别呢?

字符集和列属性:

alter database oldboy CHARACTER SET utf8 collate utf8_general_ci;

alter table t1 CHARACTER SET latin1;

注意:更改字符集时,一定要保证由小往大改,后者必须是前者的严格超集。生产中别随便改!!!

列属性

primary key 主键:非空、唯一 unique:唯一

create table student(id int not null primary key AUTO_INCREMENT);

create table student1(id int not null primary key AUTO_INCREMENT,name varchar(20))charset utf8;

create table teacher(id int not null ,name varchar(20) not null);

create table teacher1(id int not null ,name varchar(20) not null,beizhu varchar(20) not null default "ok");

mysqldump -uroot -poldboy123 world country >> /bakcup/world_country.bak.sql

####sql语句拼接方法:!!!

注意:变量前后都用逗号分隔开

select concat("mysqldump -uroot -poldboy123 ",table_schema," ",table_name,"

\>>","/backup/",tableschema,"",table_name,".bak.sql")

from information_schema.tables where table_schema='world';

常用命令:

show databases

show create database oldboy

show tables

show create table t1

SOHW databases:列出所有数据库

SHOW TABLES:列出默认数据库中的表

SHOW TABLES FROM :列出指定数据库中的表

SHOW COLUMNS FROM :显示表的列结构

SHOW INDEX FROM :显示表中有关索引和索引列的信息

SHOW CHARACTER SET:显示可用的字符集及其默认整理

SHOW COLLATION:显示每个字符集的整理

SHOW STATUS:列出当前数据库状态

SHOW VARIABLES:列出数据库中的参数定义值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值