mysql 查看索引 命令_MySQL命令篇之库、表、索引、用户、视图及SELECT查询

大纲

一、库管理

二、表管理

三、索引管理

四、用户管理

五、视图管理

六、SELECT查询

一、库管理

(1)、创建数据库CREATE DATABASE db_name [CHARACTER SET [=] charset_name] [COLLATE [=] collation_name];

mysql> CREATE DATABASE IF NOT EXISTS testdb CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';

(2)、删除数据库

DROP DATABASE [IF EXISTS] db_name;

mysql> DROP DATABASE testdb;

(3)、查看所有数据库

SHOW DATABASES;

mysql> SHOW DATABASES;

二、表管理

(1)、创建表CREATE TABLE [IF NOT EXISTS] db_name.tb_name( col_name column_definition);

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name select_statement

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) }

mysql> CREATE TABLE user(Name CHAR(5) NOT NULL,Age TINYINT UNSIGNED,Gender ENUM('M','F') NOT NULL);

mysql> CREATE TABLE testuser SELECT User,Host,Password FROM mysql.user;

mysql> CREATE TABLE testusers LIKE mysql.user;

(2)、删除表DROP TABLE [IF EXISTS] tb_name;

mysql> DROP TABLE students;

(3)、查看表SHOW TABLES FROM db_name;

mysql> SHOW TABLES FROM testdb;

(4)、查看表结构DESC tb_name;

mysql> DESC students;

(5)、修改表字段的数据类型或者类型修饰符ALTER TABLE tb_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name];

mysql> ALTER TABLE students MODIFY Course VARCHAR(10) NOT NULL AFTER Gender;

(5)、修改表字段的字段名称ALTER TABLE tb_name CHANGE old_col_name new_col_name column_definition [FIRST|AFTER col_name];

mysql> ALTER TABLE students CHANGE course Course VARCHAR(20) AFTER Name;

(6)、新增表字段ALTER TABLE tb_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name];

mysql> ALTER TABLE students ADD course varchar(20);

(7)、删除表字段ALTER TABLE tb_name DROP [COLUMN] col_name;

mysql> ALTER TABLE students DROP Course;

(8)、修改表名称ALTER TABLE tb_name  RENAME [TO|AS] new_tbl_name;

RENAME TABLE tbl_name TO new_tbl_name

mysql> ALTER TABLE Course RENAME student;

mysql> RENAME TABLE testuser TO test;

(9)、修改表的存储引擎ALTER TABLE tb_name  engine engine_name;

mysql> ALTER TABLE student ENGINE Innodb;

(10)、添加唯一键ALTER TABLE tb_name  ADD UNIQUE [KEY] (index_col_name,...);

mysql> ALTER TABLE Course ADD UNIQUE KEY (Name);

(11)、添加外键约束(存储引擎必须支持事务才能添加)ALTER TABLE tb_name  ADD FOREIGN (index_col_name,...) REFERENCES tb_name (col_name);

mysql> ALTER TABLE Course ADD FOREIGN KEY (CID) REFERENCES student (CID);

(12)、查看表结构DESC tb_name;

mysql> DESC students;

(13)、往表中插入数据INSERT INTO tb_name [(col1,col2,...)] VALUES|VALUE ('STRING', NUM,...),('STRING',NUM,...);

mysql> INSERT INTO students VALUES ('QiaoFeng',24,'M','XiangLongshibaZhang'),

-> ('DuanYu',22,'M','LiumaiShenjian'),

-> ('XuZhu',23,'M','XiaoYaoGong'),

-> ('Murongfu',26,'M','DouzhuanXingyi');

(14)、修改表中数据UPDATE tb_name SET column=value WHERE CONDITION;

mysql> UPDATE students SET Gender='F' WHERE Name='Murongfu';

(15)、删除表中数据

DELETE FROM tb_name WHERE CONDITION;

mysql> DELETE FROM students WHERE Name='QiaoFeng';

(16)、清空表数据TRUNCATE TABLE tb_name;

mysql> TRUNCATE TABLE students;

三、索引管理

(1)、创建索引

CREATE INDEX index_name ON tb_name (index_col_name) [index_option] ...

mysql> CREATE INDEX foreign_id ON student (Name(4) DESC) USING BTREE;

(2)、删除索引

DROP [ONLINE|OFFLINE] INDEX index_name ON tbl_name

mysql> DROP INDEX foreign_id ON student;

(3)、查看索引

SHOW {INDEX | INDEXES | KEYS} {FROM | IN} tbl_name

mysql> SHOW INDEXES FROM student;

四、用户管理

(1)、创建用户CREATE USER 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];

mysql> CREATE USER 'admin'@'172.16.1.111' IDENTIFIED BY 'redhat';

(2)、删除用户

DROP USER 'USERNAME'@'HOST';

mysql> DROP USER 'admin'@'172.16.1.111';

(3)、给用户授权GRANT pri1,pri2,... ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'redhat';

(4)、回收用户权限REVOKE pri1,pri2,... ON DB_NAME.TB_NAME FROM 'USERNAME'@'HOST';

mysql> REVOKE SELECT ON testdb.* FROM 'admin'@'172.16.1.103';

(5)、查看用户的授权

SHOW GRANTS FOR 'USERNAME'@'HOST';

mysql> SHOW GRANTS FOR 'admin'@'172.16.1.111';

(6)、列级别授权GRANT pri1(col_name) ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];

mysql> GRANT UPDATE(Age) ON testdb.test TO 'admin'@'%';

(7)、用户重命名RENAME USER old_user TO new_user

RENAME USER 'admin'@'%' TO 'admin'@'172.16.1.108';

(8)、给用户加密码第一种:SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('NEW_PASSWORD');

mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('redhat');

Query OK, 0 rows affected (0.03 sec)

第二种:mysqladmin-uUSERNAME -hHOST  password 'NEW_PASSWORD' -p

[root@soysauce ~]# mysqladmin -uroot -h localhost -p password 'redhat'

Enter password:

第三种:UPDATE mysql.user SET Password=PASSWORD('NEW_PASSWD') WHERE User='USERNAME' AND Host='HOST';

mysql> UPDATE mysql.user SET Password=PASSWORD('redhat') WHERE User='root';

Query OK, 4 rows affected (0.06 sec)

Rows matched: 4  Changed: 4  Warnings: 0

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql> exit

Bye

(9)、忘记mysql管理员密码[root@soysauce ~]# service mysqld stop

Shutting down MySQL. SUCCESS!

[root@soysauce ~]# mysqld_safe --skip-grant-tables --skip-networking &

[1] 50967

[root@soysauce ~]# 151224 21:31:23 mysqld_safe Logging to '/data/mysql/soysauce.err'.

151224 21:31:23 mysqld_safe Starting mysqld daemon with databases from /data/mysql

[root@soysauce ~]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.28-log MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> UPDATE mysql.user SET Password=PASSWORD('redhat') WHERE User='root' AND Host='localhost';

Query OK, 0 rows affected (0.07 sec)

Rows matched: 1  Changed: 0  Warnings: 0

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.14 sec)

mysql> exit

Bye

[root@soysauce ~]# service mysqld stop

Shutting down MySQL.151224 21:32:46 mysqld_safe mysqld from pid file /data/mysql/soysauce.pid ended

SUCCESS!

[1]+  Done                    mysqld_safe --skip-grant-tables --skip-networking

[root@soysauce ~]# service mysqld start

Starting MySQL.. SUCCESS!

[root@soysauce ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.28-log MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

五、视图管理

(1)、创建视图CREATE VIEW view_name [(column_list)] AS select_statement

mysql> CREATE VIEW stu AS SELECT * FROM students LIMIT 5;

(2)、删除视图

DROP VIEW [IF EXISTS] view_name [, view_name] ...

mysql> DROP VIEW stu;

六、SELECT查询

1、单表查询(简单查询)

(1)、选择SELECT * FROM tb_name;

mysql> SELECT * FROM students WHERE Age>=20;

(2)、投影SELECT field1,field2 FROM tb_name;

mysql> SELECT Name,Age FROM students;

(3)、选择加投影SELECT [DISTINCT] * FROM tb_name WHERE qualification;

mysql> SELECT Name,Age FROM students WHERE Age >= 20;

(4)、相同的值只显示一次SELECT [DISTINCT] * FROM tb_name WHERE qualification;

mysql> SELECT DISTINCT Gender FROM students;

(5)、比较运算符

>:大于

<=:小于等于

>=:大于等于

=:等于

!=:不等于

mysql> SELECT * FROM students WHERE Age>=20;

(6)、组合条件查询AND:逻辑与

OR:逻辑或

NOT:逻辑非

mysql> SELECT * FROM students WHERE Age>20 AND Gender='M';

mysql> SELECT * FROM students WHERE Age>20 OR Gender='M';

mysql> SELECT * FROM students WHERE NOT Age>20;

mysql> SELECT * FROM students WHERE NOT (Age>20 OR Gender='M');

(7)、两数值之间BETWEEN value1 AND value2

mysql> SELECT * FROM students WHERE Age BETWEEN 20 AND 25;

(8)、基于通配或正则做条件匹配LIKE 'wildcard'

%:任意长度的任意字符

_:任意单个字符

RLIKE 'REGEXP'

mysql> SELECT * FROM students WHERE Name LIKE 'y%';

mysql> SELECT * FROM students WHERE Name LIKE 'y____';

mysql> SELECT * FROM students WHERE Name LIKE '%ing%';

mysql> SELECT * FROM students WHERE Name RLIKE '^[XY].*';

mysql> SELECT * FROM students WHERE Age RLIKE '(18|20|25)';

(9)、判断是否为空或不空IS NOT NULL:不为空

IS NULL:为空

mysql> SELECT * FROM students WHERE CID2 IS NULL;

mysql> SELECT * FROM students WHERE CID2 IS NOT NULL;

(10)、离散列表表示IN (value1,value2...)

mysql> SELECT * FROM students WHERE Age IN (18,20,25);

(11)、查询结果排序ORDER BY field_name {ASC|DESC}

mysql> SELECT * FROM students WHERE CID2 IS NOT NULL ORDER BY Age DESC;

(12)、别名col_name AS Alias

mysql> SELECT Name AS Student_Name FROM students;

(13)、LIMITLIMIT [offset,]Count

mysql> SELECT Name AS Student_Name FROM students LIMIT 2;        # 显示2个

mysql> SELECT Name AS Student_Name FROM students LIMIT 2,3;        # 偏移量为2,往后取3个

(14)、聚合SUM():和

MIN():最小值

MAX():最大值

AVG():平均数

COUNT():总个数

mysql> SELECT SUM(Age) FROM students;

mysql> SELECT MAX(Age) FROM students;

mysql> SELECT MIN(Age) FROM students;

mysql> SELECT AVG(Age) FROM students;

mysql> SELECT COUNT(Age) FROM students;

(15)、分组

GROUP BY [HAVING where_condition]

mysql> SELECT Gender,AVG(Age) FROM students GROUP BY Gender;

mysql> SELECT CID1,COUNT(CID1) AS Persons FROM students GROUP BY CID1;

mysql> SELECT CID1,COUNT(CID1) AS Persons FROM students GROUP BY CID1 HAVING Persons>=2;

2、多表查询

(1)、笛卡尔积(交叉连接)mysql> SELECT * FROM students,courses;

(2)、自然连接mysql> SELECT students.Name,courses.Cname FROM students,courses WHERE students.CID1 = courses.CID;

mysql> SELECT s.Name,c.Cname FROM students AS s,courses AS c WHERE s.CID1 = c.CID;

(3)、左外连接mysql> SELECT s.Name,c.Cname FROM students AS s LEFT JOIN courses AS c ON s.CID1 = c.CID;

+--------------+------------------+

| Name         | Cname            |

+--------------+------------------+

| GuoJing      | TaiJiquan        |

| YangGuo      | TaiJiquan        |

| DingDian     | Qishangquan      |

| HuFei        | Wanliduxing      |

| HuangRong    | Qianzhuwandushou |

| YueLingshang | Wanliduxing      |

| ZhangWuji    | Hamagong         |

| Xuzhu        | TaiJiquan        |

| LingHuchong  | NULL             |

| YiLin        | NULL             |

+--------------+------------------+

10 rows in set (0.00 sec)

(4)、右外连接mysql> SELECT s.Name,c.Cname FROM students AS s RIGHT JOIN courses AS c ON s.CID1 = c.CID;

+--------------+------------------+

| Name         | Cname            |

+--------------+------------------+

| ZhangWuji    | Hamagong         |

| GuoJing      | TaiJiquan        |

| YangGuo      | TaiJiquan        |

| Xuzhu        | TaiJiquan        |

| NULL         | Yiyangzhi        |

| NULL         | Jinshejianfa     |

| HuangRong    | Qianzhuwandushou |

| DingDian     | Qishangquan      |

| NULL         | Qiankundanuoyi   |

| HuFei        | Wanliduxing      |

| YueLingshang | Wanliduxing      |

| NULL         | Pixiejianfa      |

| NULL         | Jiuyinbaiguzhua  |

+--------------+------------------+

13 rows in set (0.00 sec)

(5)、自连接

mysql> SELECT s.Name AS Stu,c.Name AS Teacher FROM students AS s,students AS c WHERE s.TID = c.SID;

+-----------+-------------+

| Stu       | Teacher     |

+-----------+-------------+

| GuoJing   | DingDian    |

| YangGuo   | GuoJing     |

| DingDian  | ZhangWuji   |

| HuFei     | HuangRong   |

| HuangRong | LingHuchong |

+-----------+-------------+

5 rows in set (0.00 sec)

3、子查询比较操作中使用子查询:子查询只能返回单个值

mysql> SELECT Name FROM students WHERE Age > (SELECT AVG(Age) FROM students);

mysql> SELECT Name FROM students WHERE Age IN (SELECT Age FROM tutors);

mysql> SELECT s.Name FROM students AS s WHERE s.CID2 IN (SELECT CID FROM courses);

mysql> SELECT Name FROM (SELECT Name,Age FROM students) AS t WHERE t.Age >= 20;

mysql> SELECT Name FROM students WHERE students.CID2 IN (SELECT CID FROM  courses);

4、联合查询mysql> (SELECT Name,Age FROM students) UNION (SELECT Tname,Age FROM tutors);

补充:

SELECT STATEMENT

e58a90d023f7b237ea5d7cdded3b60df.png

MySQL Operator

a70d3072af78607b70d4593b0d46ce73.png

63cc093655991f2e9120edf7c9a9eca0.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 数据修改记录日志_mysql对数据的更新操作记录在哪个日志中?

mysql对数据的更新操作记录在通用查询日志和二进制日志中。通用查询日志用来记录用户的所有操作&#xff0c;包括启动和关闭 MySQL 服务、更新语句和查询语句等&#xff1b;二进制日志会以二进制的形式记录数据库的各种操作&#xff0c;但不记录查询语句。(推荐教程&#xff1a…

mysql insert 二进制_MYSQL 插入二进制数的 2 种方法。

方法 1、insert into TableName set column ;方法 2、insert into TableName .... values(.....);------------------------------------------------------------------------------------------------------------------------------------------create table T(x bit(8));方…

mysql怎么分组查询所有数据库_Mysql-4 分组查询与子查询

1、查询结果的分组操作a、分组允许把数据分为多个组&#xff0c;以便能对每个组进行聚集计算b、分组是在select语句的group by 子句中建立的注意&#xff1a;group by 只是创建分组&#xff0c;但并不保证分组里面的数据的排列顺序&#xff0c;需要使用order by 子句对分组里面…

mysql update upper_MySQL数据处理函数upper、abs、date

1. 数据处理函数文本处理函数upper()转换大写函数SQL> select vend_name, upper(vend_name) as vend_name_upcase from vendors order by vend_name;soundex()发音类似函数SQL> select cust_name, cust_contact from customers where cust_contact Y. Lie;SQL> selec…

java 获取类方法_Java之反射机制三:获取类的方法

一.实体类BigDog.javapackage reflex;public class BigDog extends Dog {private Integer age;public String name;public BigDog(){}private void getDog(){}private BigDog(Integer age, String name) {this.age age;this.name name;}public String getName() {return name…

java语言50到100之间素数和_用JAVA语言编写一程序,求100以内的所有素数

满意答案fdewj5902017.02.13采纳率&#xff1a;40% 等级&#xff1a;9已帮助&#xff1a;316人12345678910111213141516171819public static void main(String[] args) { for (int i 2; i < 100; i) { int temp (int) Math.sqrt(i); …

java矩阵面积_Java基础 矩阵面积

提供 数据结构与算法题目 的平台是LintCode&#xff0c;参考链接是&#xff1a;http://www.lintcode.com/zh-cn/问题描述&#xff1a;参考代码&#xff1a;public class Rectangle {/** Define two public attributes width and height of type int.*/// write your code herep…

java判断线程是否wait_Java并发编程之线程间通讯(上)wait/notify机制

线程间通信如果一个线程从头到尾执行完也不和别的线程打交道的话&#xff0c;那就不会有各种安全性问题了。但是协作越来越成为社会发展的大势&#xff0c;一个大任务拆成若干个小任务之后&#xff0c;各个小任务之间可能也需要相互协作最终才能执行完整个大任务。所以各个线程…

python土味情话_Python 将土味情话语录设置为桌面壁纸

本文编写于 128 天前&#xff0c;最后修改于 128 天前&#xff0c;其中某些信息可能已经过时。41041-3yfokd0irbe.png38220-tlrmwji3zwo.pngimport osimport tempfileimport timeimport requestsimport win32apiimport win32conimport win32guifrom PIL import Image, ImageDra…

Day70力扣打卡

打卡记录 收集足够苹果的最小花园周长&#xff08;找规律 二分&#xff09; 链接 class Solution:def minimumPerimeter(self, neededApples: int) -> int:l, r 1, 10 ** 5while l < r:mid (l r) >> 1if 2 * (2 * (mid ** 3) 3 * (mid ** 2) mid) > nee…

java计数器策略模式_java设计模式(二十一)--策略模式

对于策略模式,我在很多面试题上看到过考察这一类的问题,这种模式也的确比较好用。 我感觉这种模式就是将不同实现的方法放到一个接口中,然后通过实现这个接口来实现不同的运行结果,这种模式有三部分构成: 策略接口 策略实现类 策略作用类(使用策略的类) 网络上的专业解释:此模式…

linux setuid函数_setuid函数解析

在讨论这个setuid函数之前&#xff0c;我们首先要了解的一个东西就是内核为每个进程维护的三个UID值。这三个UID分别是实际用户ID(real uid)、有效用户ID(effective uid)、保存的设置用户ID(saved set-user-ID)。首先说这个实际用户ID&#xff0c;就是我们当前以哪个用户登录了…

java中asl_带你认识绕不开的ASLR

微软从windows vista/windows server 2008(kernel version 6.0)开始采用ASLR技术&#xff0c;主要目的是为了防止缓冲区溢出ASLR技术会使PE文件每次加载到内存的起始地址随机变化&#xff0c;并且进程的栈和堆的起始地址也会随机改变。ASLR(Address space layout randomization…

Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获

mybatis有两种方式&#xff0c;一种是基于XML&#xff0c;一种是基于注解springboot集成mybatis首先先创建表&#xff0c;这里都简化了DROP TABLE IF EXISTS user;CREATE TABLE user (id int(11) NOT NULL auto_increment,username varchar(255) default NULL,PRIMARY KEY (id)…

java applet 访问文件_使用JavaApplet访问数据库

使用Java Applet访问数据库学习任何的程序语言&#xff0c;当然都得与数据库&#xff0c;Java刚刚诞生的时候&#xff0c;对数据库的支持并不是很好&#xff0c;经过这几年的发展&#xff0c;它对数据库的支持也已经完全达到了成熟的境地。由于这里主要是介绍Java Applet小程序…

与java线程有关的,线程多少和什么有关?大神们表示有话要说!

原标题&#xff1a;线程多少和什么有关&#xff1f;大神们表示有话要说&#xff01;来源&#xff1a;importnew.com/10780.htmlEddie的回答:Charlie Martin的回答:benjismith的回答:Neil Coffey的回答:McGovernTheory在StackOverflow提了这样一个问题:Java虚拟机最多支持多少个…

java 项目 人力资源项目,基于jsp的人力资源系统-JavaEE实现人力资源系统 - java项目源码...

基于jspservletpojomysql实现一个javaee/javaweb的人力资源系统, 该项目可用各类java课程设计大作业中, 人力资源系统的系统架构分为前后台两部分, 最终实现在线上进行人力资源系统各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类人力资源系统相关的实体…

matlab最佳拟合的指标是什么意思,Matlab拟合好坏常用指标

Matlab拟合好坏常用指标用过Matlab的拟合、优化和统计等工具箱的网友&#xff0c;会经常遇到下面几个名词&#xff1a;SSE(和方差、误差平方和)&#xff1a;The sum of squares due to errorMSE(均方差、方差)&#xff1a;Mean squared errorRMSE(均方根、标准差)&#xff1a;R…

matlab数字图像处理函数,MATLAB数字图像处理学习(二)|常用函数

以下的学习整理来自《数字图像处理原理与实践(MATLAB版)》im2bw功能&#xff1a;将索引图象、灰度图像和RGB彩色图像转换为二值图像 调用形式&#xff1a; >BW im2bw(I,level) BW im2bw(X,cmap,level) BW im2bw(RGB,level)其中level用于设置阈值。level取值范围[0, 1]。 …

php 实现 model层,Thinkhphp5控制器调用的Model层的方法总结

控制器器里:/*** Created by PhpStorm.* User: Haima* Date: 2018/7/8* Time: 15:58*/namespace app\api\controller\v1;use app\api\model\Banner as BannerModel;use app\api\validate\IDMustBePostiveInt;use app\lib\exception\BannerMissException;class Banner{/*** 获取…