MySQL常用命令

0、登录数据库;
格式: mysql -h主机地址 -u用户名 -p用户密码

mysql -h10.20.101.91 -uzradmin -pQwmxKn6Nvu -P3306

或者: mysql -u 用户名 -p // 回车后要求输入密码,密码不可见

mysql -u root -p

1、查看当前用户下有哪些数据库;
show databases;

2、创建数据库;
create database stt_db;
3、使用创建的数据库;
use stt_db;

4、查看当前使用的数据库;
select database ();

5、查看当前数据库下有哪些数据表;
show tables;

6、创建一个数据表;
CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
create table stt_table(id int(20),username VARCHAR(20)) ;

7、查看数据表结构;
DESCRIBE 表名;
describe stt_table;

desc test;
或 describe test;
或show columns from test;


8、给数据表结构添加一个字段;
alter table 表名 ADD 字段 类型 NOT NULL Default 0;
alter table stt_table add sex varchar(20) NOT NULL Default 0;

9、给数据表插入多条数据;
insert into stt_table(id,username,sex) values (1,'zhangsan','男');
insert into stt_table(id,username,sex) values (2,'wangwu','女');
insert into stt_table(id,username,sex) values (3,'wangwuwu','女');

10、查看数据表中的所有记录;
select * from stt_table;

11、更改数据表的某个字段的值;
update stt_table set username='lisi' where id=1;

12、查看数据表数据(要求要进行分组、排序、limit限制)
select * from stt_table group by sex order by id desc limit 20;

select id from test where name='tom' group by id order by id desc limit 2;

13、删除数据表中的某一行数据;
delete from stt_table where id=2;

14、删除数据表中的所有数据;
delete from stt_table;

或truncate table test;

15、删除数据表结构中的某一个字段;
ALTER TABLE table_name DROP COLUMN field_name;
alter table stt_table drop column sex;

16、删除数据表;
drop table stt_table;

17、删除数据库;
drop database stt_db;

 

Where 子句

搜索 empno 等于 7900 的数据:

Select * from emp where empno=7900;

Where +条件(筛选行)

条件:列,比较运算符,值

比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)

Select * from emp where ename='SMITH';

例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。

逻辑运算

And:与 同时满足两个条件的值。

Select * from emp where sal > 2000 and sal < 3000;

查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。

Or:或 满足其中一个条件的值

Select * from emp where sal > 2000 or comm > 500;

查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。

Not:非 满足不包含该条件的值。

select * from emp where not sal > 1500;

查询EMP表中 sal 小于等于 1500 的值。

逻辑运算的优先级:

()    not        and         or

 

特殊条件

1.空值判断: is null

Select * from emp where comm is null;

查询 emp 表中 comm 列中的空值。

2.between and (在 之间的值)

Select * from emp where sal between 1500 and 3000;

查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。

注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。

3.In

Select * from emp where sal in (5000,3000,1500);

查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。

4.like

Like模糊查询

Select * from emp where ename like 'M%';

查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。

  •  % 表示多个字值,_ 下划线表示一个字符;
  •  M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
  •  %M% : 表示查询包含M的所有内容。
  •  %M_ : 表示查询以M在倒数第二位的所有内容。

order by 

  1. ORDER BY 多列的时候,先按照第一个column name排序,在按照第二个column name排序;如上述教程最后一个例子:

    •  1)、先将country值这一列排序,同为CN的排前面,同属USA的排后面;
    •  2)、然后在同属CN的这些多行数据中,再根据alexa值的大小排列。
    •  3)、ORDER BY 排列时,不写明ASC DESC的时候,默认是ASC。
  2.    Lemon_shark

      jip***_chen@163.com

    211

    ORDER BY 多列的时候,eg:

    order by A,B        这个时候都是默认按升序排列
    order by A desc,B   这个时候 A 降序,B 升序排列
    order by A ,B desc  这个时候 A 升序,B 降序排列
posted @ 2020-03-30 17:14  沐沐孙  阅读(93)  评论(0编辑  收藏  举报