美文网首页
MySQL语句速查

MySQL语句速查

作者: 熊爸天下_56c7 | 来源:发表于2020-11-02 08:11 被阅读0次

一. mysql数据库基本层级概念

二. 登录和退出MySQL服务器

  1. 连接本地MySQL
mysql -uroot -p

2、连接远程MySQL

mysql -h127.0.0.1 -uroot -p

或者使用:

mysql --host=127.0.0.1 --user=root --password

3、退出:

\q
exit
quit
  1. 获取帮助
    连接好后我们输入 \h 来查看一下命令集:
image

二、SQL分类

1 DDL :用来定义数据库对象:数据库、表、列等;关键字:create drop alter

2 DML:用来对数据库表中的数据进行增删改;关键字:insert delete update

3 DQL:用来查询数据库表中的记录;关键字:select where

4 DCL:定于数据库的访问权限和安全级别及创建用户 关键字:GRANT REVOKE

三、数据库操作(DDL)

1、创建数据库

①、创建数据库 create database 数据库名;

create database db1;

②、防止重复创建 create database if not exists 数据库名;

create database if not exists db1;

③、指定字符集创建 create database 数据库名 character set 字符集名;

create database db3 character set gbk;

④、判断存在否并指定字符集:create database if not exists 数据库名 character set 字符集名;

create database if not exists db4 character set gbk;

2、查询数据库

①、show databases; 显示所有数据库

show databases;

②、查询创建某数据库时使用的语法(主要为了查看字符集)

show create database 数据库名;

show create database mysql;

3、修改数据库

①、修改字符集:alter database 数据库名 character set 字符集名;

alter database db4 character set utf8;

4、删除数据库

①、删除数据库:drop database 数据库名;

drop database db3;

②、先检查有没有再删除:drop database if exists 数据库名;

drop database if exists db3;

5、使用数据库

① 查询当前正在使用的数据库名称:select database();

select database();

②、使用数据库: use 数据库名;

use db1;

四、数据表操作 DDL

1、创建数据表

①、创建表:create table 表名(列名1 数据类型1,列名2 数据类型2,...,列名n 数据类型n);

create table student(id int,name varchar(32),age int,score double(4,1),brithday date,insert_time timestamp);

2、查询数据表

①、查询表集合: show tables;

show tables;

②、查询表结构: desc 表名;

desc student;

3、修改数据表

①、修改表名

alter table 表名 rename to 新表名;

alter table student rename to students;

②、修改表的字符集
alter table 表名 character set 字符集名;

alter table students character set utf8;

③、添加一列

alter table 表名 add 列名 数据类型;

alter table students add sex varchar(10);

④、修改一列

alter table 表名 change 列名 新列名 新数据类型;

alter table students change sex gender varchar(20);

⑤、只修改列的类型

alter table 表名 modify 列名 新数据类型;

alter table students modify gender varchar(10);

⑥、删除列

alter table 表名 dorp 列名;

alter table students drop gender;

4、删除数据表

drop table 表名;

drop table students;

drop table if exists 表名;

drop table if exists students;

五. 数据管理 DML

1、添加数据

①、添加数据

insert into 表名(列名1,列名2.。。。列名n) values (值1,值2,。。。,值n);

insert into stu(id,name,nianling,score,sex) values(1,'范冰冰',18,59,'女');

②、如果给所有列添加值,可以不写列名;

insert into stu values(2,'佟丽娅',24,99,null,null,'优秀','女');

注意:除了数字类型,其他类型需要使用单/双引号 引起来。

2、删除数据

如果MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令。输入如下命令退出此模式:

SET SQL_SAFE_UPDATES = 0;

①删除数据

delete from 表名 where 条件;

delete from student where id=1;

②、删除所有数据

delete from 表名;

delete from student;

3、修改数据

①、修改数据

update 表名 set 列名1=值1,列名2=值2,......列名n=值n,where 条件;

update student set age=19 where id=2;

注意:
1、执行此命令同样需要退出SAFE_UPDATES模式
SET SQL_SAFE_UPDATES = 0;
2、如果不加where就会把表里的数据都改了

十一、查询数据 DQL

1、语法

select
    字段列表
from
    表名列表
where
    条件列表
group by
    分组字段
having
    分组之后的条件限定
order by
    排序
limit
    分页限定

2、基础查询

〇、查询整张表

select * from student;

①、多个字段查询

select 列名1,列名2 from 表名;

select id,name  from student;

②、去除重复

SELECT DISTINCT 列名1,列名2 from 表名;

③、计算列

SELECT 列名1+列名2 from 表名;

上面例子中柳青的成绩相加不对,原因处在null上,所以应引入ifnull判断

image

附:判断null: ifnull(列名,替换值); 当列名出现null时替换为替换值

④、起别名

select 字段名 as 别名 from 表名; #as也可以用空格代替

3.条件查询

①、where后跟条件

②、运算符

< >= <= = != <>(这个也是不等于)

....(1) and 并且

select id,name  from student where  age>10 and age <20;

....(2) between 条件1 and 条件2

select id,name  from student where age between 10 and 20;

....(3) or 或者

select id,name  from student where score>90 or age<10;

....(4) in (22,18,15); #在。。。中

select id,name  from student where name in ("西施","貂蝉","王昭君");

....(5) is null //判断是null

select id,name  from student where name is null;

....(6) is not null //判断不是null

select id,name  from student where name is not null;

注意:null不能用 =来判断 需要用 is来判断

③、LIKE 模糊查询运算符

占位符:_单个任意字符 %多个任意字符

4.排序查询

①语法

order by 排序字段1 排序方式1,排序字段2 排序方式2,。。。。

其中排序方式: ASC:升序(默认) DESC:降序

5、聚合函数

将一列数据按照一个整体进行计算 #列的纵向计算

①、count 计算个数

select count(列名) from 表名;

②、max 最大值

select max(列名) from 表名;

③、min

select min(列名) from 表名;

④、sum

select sum(列名) from 表名;

⑤、avg

select avg(列名) from 表名;

注意:聚合函数会排除null

6、分组查询

①、语法

group by 列名;

注意:分组后应该查询 分组或聚合函数才有意义。

②、分组加条件where

③、分组加条件where,完成分组后再加having筛选

where和having的区别:

-where在分组前限定,having再分组后限定

-where后不可以跟聚合函数 having后可以

④、分页查询

limit 开始的索引 ,每页查询的条数;

开始的索引=(当前页码-1)*3

下面的语句代表: 从第一页开始查询一页, 单页3条


注意:分页操作是一个“方言”,只能用于MySQL。

相关文章

  • MySQL语句速查

    查看库:show databases; 选库:use 库名; 查看库中表:show tables; 查表:sele...

  • MySQL语句速查

    一. mysql数据库基本层级概念 二. 登录和退出MySQL服务器 连接本地MySQL 2、连接远程MySQL ...

  • MySQL速查表

    MySQL速查表 DDL语句 命令用途mysql -u用户名 -p密码连接Mysqlquit; ex...

  • mysql索引浅析

    MySQL 的索引长什么样子?索引到底是怎么加速查询的? 事实上,在你还没有执行create index语句的时候...

  • php操作mysql语句

    mysql语句 php操作mysql语句

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • 实战代码(十四):常用MySQL语句速查笔记

    序 本文主要记录下日常略微复杂且比较常用的SQL语句,持续更新…… 一、重复数据 查看是否存在重复数据 清除重复数...

  • InnoDB索引底层

    索引:Mysql建立的用来快速查询的已经排好序的数据结构。索引的目的就是为了快速查找数据。Mysql索引使用B+树...

  • BigData-MySQL总结大全(一)苏暖人

    BigData之MySQL总结大全 MYSQL常用的基本语句 MYSQL常用的基本语句 例:SELECT TOP ...

  • mysql常用语句

    一、Mac端:打开MYSQL服务器语句:brew services start mysql关闭MYSQL服务器语句...

网友评论

      本文标题:MySQL语句速查

      本文链接:https://www.haomeiwen.com/subject/ierimktx.html