MySQL基础篇-SQL语句

功能

语法

启动net start mysql80
停止net stop mysql80
连接本服务器mysql -u root -p
ip地址连接服务器mysql -h192.168.5.116 -P3306 -uroot -p123456

SQL

Structured Query Language

DDL

Data Definition Language

数据定义语言,用来定义数据库对象(数据库,表,字段)

数据库操作

查询所有数据库show databases ;
查询当前数据库select database() ;
创建数据库create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序 规则 ] ;
删除数据库drop database [ if exists ] 数据库名 ;
切换数据库use 数据库名 ;

表操作-查询创建

查询当前数据库所有表show tables;
查看指定表结构desc 表名;
查询指定表的建表语句show create table 表名 ;
创建表结构

CREATE TABLE 表名(

         字段1 字段1类型 [ COMMENT 字段1注释 ],

         字段2 字段2类型 [COMMENT 字段2注释 ],

         字段3 字段3类型 [COMMENT 字段3注释 ],

         ......

         字段n 字段n类型 [COMMENT 字段n注释 ]

) [ COMMENT 表注释 ] ;

表操作-数据类型

MySQL数据类型主要分为三类:数值类型、字符串类型、日期时间类型

表操作-修改

添加字段ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
修改数据类型ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);
修改字段名和字段类型ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
删除字段ALTER TABLE 表名 DROP 字段名;
修改表名ALTER TABLE 表名 RENAME TO 新表名;

表操作-删除

删除表DROP TABLE [ IF EXISTS ] 表名;
删除指定表, 并重新创建表TRUNCATE TABLE 表名;

DML

Data Manipulation Language

数据操作语言,用来对数据库中表的数据记录进 行增、删、改操作。

添加数据

给指定字段添加数据INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
给全部字段添加数据INSERT INTO 表名 VALUES (值1, 值2, ...);
批量添加数据

INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值 1, 值2, ...) ;

INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;

修改数据

UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 条件 ] ;

删除数据

DELETE FROM 表名 [ WHERE 条件 ] ;

DQL

查询关键字: SELECT

Data Query Language

数据查询语言,数据查询语言,用来查询数据库中表的记 录。

DQL 查询语句,语法结构如右所示:

SELECT 字段列表         FROM 表名列表         WHERE 条件列表         GROUP BY 分组字段列表         HAVING 分组后条件列表         ORDER BY 排序字段列表         LIMIT 分页参数

基础查询

查询多个字段

SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;

SELECT * FROM 表名 ;

字段设置别名

SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名;

SELECT 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... FROM 表名;

去除重复记录SELECT DISTINCT 字段列表 FROM 表名;

条件查询

语法SELECT 字段列表 FROM 表名 WHERE 条件列表 ;
条件

>,>=,<,<=,=,<> 或 !=,BETWEEN ... AND ...,IN(...),LIKE 占位符,IS NULL

AND 或 &&   OR 或 ||   NOT 或 !

聚合函数

将一列数据作为一个整体,进行纵向计算

语法SELECT 聚合函数(字段列表) FROM 表名 ;
常见的聚合函数count,max,min,avg,sum

分组查询

语法SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组 后过滤条件 ];
where与having区别

执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组 之后对结果进行过滤。

判断条件不同:where不能对聚合函数进行判断,而having可以。

排序查询

排序在日常开发中是非常常见的一个操作,有升序排序,也有降序排序。

语法SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;
排序方式

ASC : 升序(默认值)

DESC: 降序

分页查询

分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台 都需要借助于数据库的分页操作。

语法SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ;
注意事项:

• 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。

• 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。

• 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

DCL

Data Control Language

数据控制语言,用来管理数据库用户、控制数据库的访 问权限。

管理用户

查询用户select * from mysql.user;
创建用户CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
修改用户密码ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;
删除用户DROP USER '用户名'@'主机名';

权限控制

查询权限SHOW GRANTS FOR '用户名'@'主机名' ;
授予权限GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值