登录
首页 >  数据库 >  MySQL

一文详解mysql基础查询语句(附使用示例)

来源:SegmentFault

时间:2023-02-24 10:56:12 367浏览 收藏

在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《一文详解mysql基础查询语句(附使用示例)》,聊聊MySQL,希望可以帮助到正在努力赚钱的你。

第一章:DDL和DML语言

1.DDL:

DDL:DDL是一种数据定义数据结构和修改的语言,也就是说查询表结构,他的全称为Data Definition Language

2.DDL-数据库操作

1.DDL查询

-- 查询所有数据库
SHOW DATABASES 
-- 查询当前数据库的所有表
SHOW DATABASES 数据库名
-- 例:
SHOW DATABASES jzlg
2 .DDL创建

-- 创建数据库
CREATE DATABASE 数据库
-- 例:
CREATE DATABASE KJZZ
3.DDL删除

删除数据库
DAOP DATA 数据库名;
-- 例
DAOP DATA hhhh;
4.DDL 使用数据库

-- 使用之前创建的数据库
use 数据库

3.DDL-表操作-查询(查询表结构)

1.DDL查询

--  查询当前数据库的表
SHOW TABLES;
-- 例:
show tables jzlg
2..DDL查询表结构

-- 查询表结构
DESC 表名
-- 例
DESC user
3.查询指定表的建表语句

-- 查询指定表的建表语句
SHOW CREATE TABLE 表名
-- 例
SHOW CREATE TABLE user

4.DDL-表操作- 创建

1.DDL表创建

CREATE TABLE 表名(
子段1  数据类型(COMMENT 字段1 注释),
字段2  数据类型(COMMENT 字段2 注释),
字段3  数据类型(COMMENT 字段3 注释)
字段4  数据类型(COMMENT 字段4 注释)
....
)(COMMENT 表注释)
-- 例
CREATE TABLE user(
id int(COMMENT 用户id),
name varchar(10)(COMMENT 用户名字),
gender  varchar(10)(COMMENT 用户性别)
avg data(COMMENT 年龄)
....
)(COMMENT 用户表)

5.DDL-表操作-修改

1.DDL添加字段

-- 添加字段
ALTER TABLE 表名 字段名 数据类型(长度) comment 注释  
-- 案例 为user表添加一个新的昵称为nickname和数据类型为varchar(20)
ALTER TABLE USER nickname varchar(20)
2.DDL修改字段

-- 修改数据类型
ALTER TABLE 表名 字段名 新数据类型(长度) comment 注释
-- 例:
ALTER TABLE user nickname char(10) 
-- 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) comment 注释
-- 例
ALTER TABLE user CHANGE nickname name varchar(20)
3.DDL删除字段

-- 删除字段
ALTER TABLE 表名 DROP  字段名
-- 例
ALTER TABLE user DROP name
4.DDL修改表名

-- 修改表名
ALTER TABLE 表名 RENAME TO 新表名
--  例
ALTER TABLE user RENAME TO user1
5.DDL删除表

-- 删除表
DROP TABLE [IF EXISTS] 表名
例
DRIP TABLE  [IF EXISTS] user
-- 删除指定表, 并重新创建表
 TRUNCATE TABLE user`

2.DML:

DML:是用来对数据库中的表中的数据进行增删改查的,全称是“Data Manipulation Language"

1.DML-数据操作

1添加数据

-- 给指定字段添加数据
INSERT INTO 表名(字段名1,字段名2,...) VALUES(值1,值2);
-- 例
insert into user(id,name)
                VALUES(1,'陈礼浩')
-- 给全部字段添加数据
insert into 表名 values(值1,值2)
-- 例
insert into user(2,'陈礼浩')
-- 批量添加数据
insert into 表名 (字段1,字段2) values(值1,值2),
                                    (值1,值2)
-- 例
insert into user values(3,'哈哈哈')
                       (4,'牛牛牛')
insert into 表名 values(值1,值2),
                       (值1,值2)
-- 例
insert into user values(5,'qqq')
                        (6,'666')


                       
注意:1.插入数据时,指定的字段要和值一一对应 
     2.字符串和日期数据应该包含在引号中
     3.插入的数据大小,应该在字段的规定的范围中
     4.插入多条数据要用逗号分隔
2修改数据

-- 修改数据
UPDATE 表名 SET 字段1=值1,wher (条件)
-- 例1:修改id为1的数据,将name改为666
UPDATE user SET name=666 where id=1
-- 例2: 修改id为1的数据,将name的值修改为哈哈哈,gender修改为女
UPDATE user set name=哈哈哈,gender=女 where id=1
-- 例3: 将所有的员工的入职日期都改为2008-1-1
UPDATE user  set entrydate=2008-1-1
-- 因为他的说是将所有的员工改,所以没有条件

3删除数据

-- 删除数据
DELETE from 表名 where 条件
-- 例 将id为1的数据删除
DELETE from user where id=1
-- 删除某一字段的值
UPDATE user set name=null

注意:
1.DELETE 语句的条件可以有,也可以没有,如果没有条件,则整张表的数据都会被删除
2.DELETE 语句不能删除某一字段的值(可以使用 update)

第二章:DQL和DCL语言

1.DQL

1.1DQL介绍:

DQL是数据查询语言,用于查询数据库中的数据,全称是:Data QueryLanguage

1.2DQL的语法:

select 字段名 from where 条件 GROUP BY 分组字段 HAVING 分组后条件 ORDER BY 排序字段 LIKE 分页参数

1.3基础查询

-- 1.查询整个表的字段
select * from 表名
-- 例
select * from user
-- 2.查询多个字段
select 字段1,字段2 from 表名
-- 例
select id,name from user
-- 3.设置别名
select 字段1 AS 别名,字段2 AS 别名 from 表名
-- 例
select id as a,name AS b from user
-- 4.去出重复记录
select 字段 from 表名
-- 例
select DISTINCT name from user
1.3.1练习

-- 1查询指定字段name,workno,age
select name,workno,age from emp
-- 2查询所有字段
select * from emp
-- 3查询所有员工的工作地址,起别名
select workaddress as '工作地址' from emp
-- 4查询公司员工的上班的地址
select DISTINCT workaddress from emp

1.4条件查询

-- 1.条件查询的语法
select 字段 from 表名 where 条件
-- 2条件
比较运算符                       功能
>                            大于
>=                            大于或等于
 或!=                       不等于
BETWEEN ...AND...            在多少到多少之间
IN(...)                        在in括号里面的多个值,多者选一
LIKE 占位符                  模糊查询(_代替一个字符,%代替多个字符)
IS NULL                        是null

逻辑运算符                            功能
and 或 &&                             并且
or或||                               或者
not或!                                非,不是
1.4.1练习

-- 1.查询年龄等于88的员工
select * from emp where age=88
-- 2查询年龄小于22的员工信息
select * from emp where agee 

1.5聚合函数

-- 1聚合函数介绍:
将一例数据看做为整体,进行计算

-- 2函数分类
max()求最大的值
min()求最小的值
avg()求平均值
sun()求总合
count()求个数
-- 3语法
select 聚合函数(字段名) from 表名
1.5.1练习

-- 1 统计该企业的员工数量
select count(workaddress) from emp
-- 2统计该企业员工的年龄的平均年龄
select sun(age) from emp
-- 3 统计该企业员工的最大年龄
select max(age) from emp
-- 4 统计该企业员工的最小年龄
select min(age) from emp
-- 5 统计西安地区员工的年龄的和
select sun() from where name='西安'
注意:所有的null值不参与聚合函数计算

1.6分组查询

-- 1.语法
select * from 表名 where 条件 GROUP BY 分组字段名 having 分组条件
-- 例
select * from emp where id=1 group by id having id=1

-- -- 注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
1.6.1练习

-- 查询男同学和女同学各自的数学平均分
select avg(math) from su group by sex
-- 查询男同学和女同学各自的数学平均分,以及各自人数
select avg(math) ,count(sex) from sc group  by sex
-- 查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组
select avg(math), count(sex) from sc where math 

1.7分页查询

-- 1.语法
select * from  表名  limit 起是索引,查询的页数
-- 例
select * from sc limit 0,0
-- 2怎么求索引呢?
起始索引 = (当前页码 - 1) * 每页显示的条数
1.7.1练习

-- 从0开始查询,查询3条数据
select * from sc  limit 0,3
-- 每页显示3条数据,查询第一页数据
select * from sc limit 0,3
-- 每页显示3条数据,查询第二页数据
select *  from sc limit 3,3
--  每页显示3条数据,查询第三页数据
select * from sc limit 6,3

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>