mysql远程连接及mysql基础命令

1)远程连接

1.在linux开启远程访问:

use mysql;
 update user set host=’%’ where user=‘root’;
 flush privileges

2.在本地Mysql Workbench新建连接

打开后点击加号

mysql命令行远程登陆 mysql 远程命令_mysql命令行远程登陆


输入linux的ip

mysql命令行远程登陆 mysql 远程命令_子查询_02


点击测试连接,成功即可进入

2)基础命令
1.查看所有数据库

show databases;

2.切换到某个数据库

use xxxxxxx;

3.查看某个表

select *from xxxxxx;

4.查询表的结构:
DESC 表名;

5.插入一个数据values方法和set方法

(1)insert into 表名 values (1,‘chen’,‘123’);
 (2)insert into tb_admin set user=‘mrbccd’,password=‘111’,createtime= ‘2014-09-06 10:35:26’;

6.插入指定数据insert into tb_admin (USER,PASSWORD) values (‘ch’,‘123’);

7.一次插入多个数据insert into tb_admin (USER,PASSWORD) values (‘ch’,‘123’),(‘a’,’123’),(‘b’,’234’);

8.把tb_mrbook表的数据插入到tb_admin表中

insert into tb_admin (USER,PASSWORD,createtime) select user,pass,bookname from tb_mrbook;

9.查询所以表内容 select * from 表名;

10.修改某条数据
--------------------- 要修改的内容 ----------------------------- 被修改的对象

Update tb_admin set PASSWORD=‘123123’ where USER=‘chen’;

11.删除某条数据

Delete from tb_admin where id=‘13’;

12.删除表中的数据

Truncate table tb_admin

13.模糊查询 使用运算符LIKE判断表中的USER字段值是否与指定字符

SELECT * FROM tb_book WHERE USER LIKE ‘%x%’

14.查询ROW是否符合集合中的元素的列表-------IN()

SELECT * FROM tb_book WHERE ROW IN(10,4,95)

15.查询ROW 80到100之间的字段-----between AND

一SELECT *FROM tb_book WHERE ROW BETWEEN 80 AND 100;
 二SELECT ROW,ROW BETWEEN 10 AND 50,ROW BETWEEN 25 AND 28,ROW BETWEEN 80 AND 100,ROW BETWEEN 1 AND 10 FROM tb_book;

16.查询ROW是否为空的字段----IS NULL,IS NOT NULL

SELECT * FROM tb_book WHERE ROW IS NULL;
 SELECT * FROM tb_book WHERE ROW IS NOT NULL;

17.查询ROW小于20的记录

SELECT * FROM tb_book WHERE ROW<20;
 SELECT id,books,talk,USER,ROW<20,sort FROM tb_book;

18.查询talk不等于Java的字段

SELECT * FROM tb_book WHERE talk!=‘Java’;
 SELECT id,books,talk!=‘Java’,USER,ROW,sort FROM tb_book;

19.查询id=41的字段

SELECT id=41,books AS FROM tb_book;
 SELECT id,books FROM tb_book WHERE id=41;

20.用DISTINCT去除重复的数据

SELECT NAME FROM tb_login;
 SELECT DISTINCT NAME FROM tb_login;

21.用ORDER BY关键字对查询结果排序ASC升序,DESC是降序

SELECT * FROM tb_login ORDER BY id DESC;
 SELECT * FROM tb_login ORDER BY id;
 SELECT * FROM tb_login ORDER BY id ASC;

22.用GROUP BY关键字分组查询 GROUP_CONCAT()函数

SELECT * FROM tb_book GROUP BY talk;
 SELECT author,GROUP_CONCAT(bookname) FROM tb_bookinfo GROUP BY author;
 SELECT id,books,talk,USER FROM tb_book GROUP BY USER,talk;

23.限制查询数量为4个

SELECT * FROM tb_book ORDER BY id LIMIT 4;

24 .SUM()函数可以求出某个字段的总和

SELECT ROW FROM tb_book;
 SELECT SUM(ROW) FROM tb_book;
 SELECT SUM(price) AS price的总和 FROM tb_mrbook;

25 .AVG()求出平均值

SELECT AVG(price) AS price的平均值 FROM tb_mrbook;
  1. MAX()求出最大的值
26.  SELECT MAX(ROW) AS ROW最大值 FROM tb_book;

27.MIN()求出最小的值

SELECT MIN(ROW) AS ROW最小值 FROM tb_book;
 SELECT MIN(id) FROM tb_book;

28 .IN关键字的子查询

SELECT * FROM tb_login WHERE USER IN (SELECT USER FROM tb_book);

29.带比较运算符的子查询

SELECT ROW FROM tb_row WHERE NAME=‘优秀’;
 SELECT id,books,ROW FROM tb_book WHERE ROW>=90;
 SELECT id,books,ROW FROM tb_book WHERE ROW>=(SELECT ROW FROM tb_row WHERE NAME=秀’);

30.使用count()函数统计数据表 tb_login中的记录数

select count(*) from tb_login;

31.带IN关键字的子查询
例:查询tb_login表中的记录,但user字段值必须在tb_book表中的user字段中出现过

select * from tb_login where user in(select user from tb_book);

32.带比较运算符的子查询
例:查询图书访问量为“优秀”的图书,在tb_row表中将图书访问量按访问数划分等级

select id,books,row from tb_book where row>=(select row from tb_row where id=1);

33.带比较运算符的子查询
例:查询图书访问量为“优秀”的图书,在tb_row表中将图书访问量按访问数划分等级

select id,books,row from tb_book where row>=(select row from tb_row where id=1);

34.带EXISTS关键字的子查询
例:使用子查询查询tb_book表中是否存在id值为27的记录,如果存在则查询tb_row表中的记录,如果不存在则不执行外层查询

select * from tb_row where exists (select * from tb_book where id=27);


例:如果tb_row表中存在name值为“优秀”的记录,则查询tb_book表中row字段大于大于等于90的记录

select id,books,row from tb_book where row>=90 and exists(select * from tb_row where name=‘优秀’);

35.ANY关键字的子查询
例:查询tb_book表中row字段的值小于tb_row表中row字段最小值的记录

select books,row from tb_book where row<ANY(select row from tb_row);

36.带ALL关键字的子查询
例:查询tb_book表中row字段的值大于tb_row表中row字段最大值的记录

select books,row from tb_book where row>=ALL(select row from tb_row);

37.合并查询结果
合并查询结果是将多个SELECT语句的查询结果合并到一起。合并查询结果使用UNION和UNION ALL关键字

38.定义表和字段的别名
1.为表取别名
当表的名称特别长时,在查询中直接使用表名很不方便。这时可以为表取一个贴切的别名

2.为字段取别名
当查询数据时,MySQL会显示每个输出列的名词。默认情况下,显示的列名是创建表时定义的列名。我们同样可以为这个列取一个别名