mysql数据库管理

查看数据库结构

Mysql是一套数据库管理系统,在每台Mysql服务器中,支持运行多个数据库每一个数据库相当一个容器

1:查看数据库结构

复制代码
[root@localhost ~]# mysql -u root -ppwd123

mysql> show databases;

mysql> use mysql

mysql> show tables;

mysql> describe user;

mysql> select * from user\G;

备注:

  • information_schema数据库:保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等
  • performance_schema:用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况
  • mysql:是 MySQL 服务正常运行所需的数据库,其中包含了用户认证相关的表

2:创建及删除数据库和表

(1)创建新库

复制代码
mysql> create database auth;

(2)创建新表

mysql> use auth;

mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));

备注:

DEFAULT '' 密码默认为空

(3)删除一个数据表

mysql> DROP TABLE auth.users;

(4)删除一个数据库

mysql>DROP DATABASE auth;

3:SQL语言

DDL:数据定义语言(create、drop、alter)

DML:数据操纵语言(insert、update、delete)

DQL:数据查询语言(select)

DCL:数据控制语言(grant、revoke、commit、rollback)

3:管理表中的数据记录

(1)插入数据记录

mysql>use auth;

mysql>INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD ('123456'));

mysql>INSERT INTO users VALUES('lisi', PASSWORD('654321'));

(2)查询数据记录

复制代码
mysql>select * from auth.users;

mysql>SELECT user_name,user_passwd FROM auth.users WHERE user_name='zhangsan';

(3)修改数据记录

mysql>UPDATE auth.users SET user_passwd=PASSWORD('') WHERE user_name= 'lisi';

mysql>SELECT * FROM auth.users;

mysql>UPDATE mysql.user SET authentication_string=PASSWORD('123457') WHERE user='root';

mysql>FLUSH PRIVILEGES;/

root@www \~# mysqladmin -u root -p'123457' password '123456'

(4)删除数据记录

mysql>DELETE FROM auth.users WHERE user_name='lisi';

mysql>SELECT * FROM auth.users;

4:数据库表高级操作

(1)删除表

mysql> delete from user01 where user_name='zhangsan';

mysql>delete from user01;

mysql>insert into user01 select * from auth.users;

mysql>truncate table user01;

mysql>select count(*) from user01;

(2)临时表

mysql>select * from mytmp;//查看 mytmp 表是否存在

mysql>CREATE TEMPORARY TABLE `mytmp` (

`id` int(10) NOT NULL AUTO_INCREMENT,

`NAME` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

`level` int(10) NOT NULL,

PRIMARY KEY (id)

) **ENGINE=InnoDB DEFAULT CHARSET=utf8; //**创建临时表

mysql> insert into mytmp(name,level) values('aa',10);//插入数据

Query OK, 1 row affected (0.01 sec)

mysql>select * from mytmp;

mysql>quit//退出当前连接

Bye

mysql>select * from mytmp;//重新连接 MySQL 之后查看临时表状态

二:数据库用户授权

1:授予权限

mysql>GRANT select ON auth.* TO 'zhangsan'@'localhost' IDENTIFIED BY '123456';

2:查看权限

mysql> SHOW GRANTS FOR 'zhangsan'@'localhost';

3:验证权限

root@localhost \~# mysql -u zhangsan -p123456

mysql> select * from auth.users;

mysql> select * from mysql.user;

备注:

zhangsan用户可以查看auth数据库的表,但不能查看mysql数据库的表。

4:撤销权限

mysql> revoke all on auth.* from zhangsan@'localhost';

root@localhost \~# mysql -u zhangsan -p123456

mysql> select * from mysql.user;

撤销权限后,已经无法查看auth中的表

相关推荐
阿成学长_Cain3 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
一嘴一个橘子5 小时前
mysql 创建表
mysql
OceanBase数据库官方博客5 小时前
OceanBase AI 时代,数据库的变与不变(技术解析与实践)
数据库·人工智能·oceanbase
阿成学长_Cain7 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程
linux·运维·前端·数据库
ywl4708120877 小时前
Mysql 平衡二叉树、红黑树、B树、B+树区别以及应用场景(五)
数据库·b树·mysql
IvorySQL8 小时前
IvorySQL Agent 探索与实践
数据库·人工智能·postgresql·oracle·ivorysql
作陪8 小时前
小白也能看懂的 SQL 零基础教程:从关系模型到事务全解
mysql
SelectDB9 小时前
美团数十 PB 规模 Apache Doris 实践:从统一 OLAP 到 AI-Native 数据基座
大数据·数据库·性能优化
Database_Cool_9 小时前
阿里云RDS主从延迟解决方案_只读实例半同步复制最佳实践
数据库·人工智能
KaMeidebaby10 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法