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中的表

相关推荐
qq_150841993 分钟前
CVI+MySQL编程入门之用户管理
mysql
正在走向自律16 分钟前
电科金仓MySQL迁移实战:一个技术专家的深度踩坑与突围笔记
数据库·mysql·电科金仓·kfs·kdts
moonlight030416 分钟前
索引和事务
数据库
TDengine (老段)30 分钟前
煤机设备每天 TB 级数据,天地奔牛用 TDengine 把查询提速到“秒级”
大数据·运维·数据库·struts·架构·时序数据库·tdengine
泯仲1 小时前
从零起步学习MySQL 第二章:DDL语句定义及常见用法示例
数据库·mysql
Leon-Ning Liu1 小时前
记录MySQL 主从架构切换双主(互为主从)操作步骤
数据库·mysql
@insist1231 小时前
数据库工程师核心 TCP/IP 协议栈知识:从软考考点到运维实战
运维·数据库·网络协议·tcp/ip·软考·数据库系统工程师·软件水平考试
!chen1 小时前
Oracle数据库物理备份工具支持本机+异机
数据库
前进的李工1 小时前
数据库视图:数据安全与权限管理利器
开发语言·数据库·mysql·navicat
what丶k1 小时前
深度解析 Canal 数据同步:原理、实操与生产级最佳实践
数据库·后端