1、查看数据库用户:
select Host, User, Password from mysql.user;
2、查看用户表信息:
desc mysql.user;
3、查询某个用户的信息:
select * from mysql.user where user where user = 'root'\G;
// \G的作用是将查到的结构旋转90度变成纵向
// \g的作用是相当于分号,等效于';'
4、查看数据库:
show databases [like '%xxx%']
系统相关数据库信息介绍:
information_schema:主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。
mysql:MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 数据库的 user 表中修改 root 用户密码。
performance_schema:主要用于收集数据库服务器性能参数。
sakila:MySQL 提供的样例数据库,该数据库共有 16 张表,这些数据表都是比较常见的,在设计数据库时,可以参照这些样例数据表来快速完成所需的数据表。
sys:MySQL 5.7 安装完成后会多一个 sys 数据库。sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。
world:world 数据库是 MySQL 自动创建的数据库,该数据库中只包括 3 张数据表,分别保存城市,国家和国家使用的语言等内容。
5、查看数据库运行状态:
status;
6、查看数据库连接:
show status like 'Threads%';
7、查看数据存储位置:
show variables like '%datadir%';
8、创建数据库:
create database tableName;
9、选择数据库:
use databaseName;
10、创建表:
create table `stu_score` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '学生姓名',
`score` decimal(4,2) NOT NULL DEFAULT '0.00' COMMENT '分数',
`subject` varchar(20) NOT NULL DEFAULT '' COMMENT '学课',
PRIMARY KEY(`ID`)
) ENGINE=InnoDB COMMENT='学生成绩表';
11、查看数据库中的表:
show tables;
12、查看表结构:
desc tableName;
13、向表中插入数据:
insert into `stu_score` (name, score, subject) values ('edward', 99 , '数学');
--------
// 报错
-- 表字符集修改:
alter table `stu_score` default character set utf8 COLLATE utf8_unicode_ci;
-- 字段字符集修改:
alter table `stu_score` change `subject` `subject` varchar(20) character set utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
alter table `stu_score` modify `subject` varchar(20) character set utf8 COLLATE utf8_unicode_ci;
报错问题:插入中文字符,需要将表和字段的字符集修改为utf8
14、表中修改字段:
// 修改字段类型、长度、默认值、注释
// ALTER TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度 新默认值 新注释;
alter table `stu_score` modify `subject` varchar(20) character set utf8 COLLATE utf8_unicode_ci;
// 修改字段名已经其他类型、长度、默认值等等
// ALTER TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型;
alter table `stu_score` change `subject` `subject` varchar(20) character set utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
15、表添加常用索引
-- 主键索引
alter table `table_name` add primary key (`column`);
-- 唯一索引
alter table `table_name` add unique (`column`);
-- 普通索引
alter table `table_name` add index index_name (`column1` [,`column2`, `column3`]);
-- 全文索引
alter table `table_name` add fulltext (`column`);
16、索引查看:
show index from tableName;
17、查看表生产的DDL语句:
show create table tableName;
其他命令:
show full processlist; #查询数据库连接
show status like '%Max_used_connections%';
show status like '%Threads_connected%';#当前连接数
show status like '%table_lock%';#表锁定
show status like 'innodb_row_lock%';#行锁定
show status like '%qcache%'; #查询缓存情况
show variables like "%query_cache%";
SHOW STATUS LIKE 'Qcache%';
show variables like "%binlog%";
show status like 'Aborted_clients';#由于客户没有正确关闭连接已经死掉,已经放弃的连接数量
show variables like '%max_connections%';//查看最大连接数量
show variables like '%timeout%';#查看超时时间
show variables like 'log_%'; #查看日志是否启动