我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL的基础(一)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL的基础(一)

MySQL的基础(一)

SQL

SQL,全称为结构化查询语言(Structured Query Language),是一种用于管理关系数据库的标准计算机语言。它可以用于数据库的创建、查询、更新和修改等操作。

SQL语言包括数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)、数据控制语言(DCL)等部分。
-- 创建表CREATE TABLE Students (    ID INT PRIMARY KEY,    Name VARCHAR(20),    Age INT);-- 插入数据INSERT INTO Students (ID, Name, Age) VALUES (1, 'Tom', 20);-- 查询数据SELECT * FROM Students;-- 更新数据UPDATE Students SET Age = 21 WHERE ID = 1;-- 删除数据DELETE FROM Students WHERE ID = 1;

SQL的语法特点主要包括以下几点:

SQL的关键字大小写不敏感,可以以单行或多行书写,空格/缩进–增强可读性,并以分号结束。SQL的注释有两种方式:

  1. (1)单行注释:使用--或者# 注释开始,直到行尾。
    (2) 多行注释:使用 结束。

注意:
虽然SQL的关键字大小写不敏感。但是,对于字符串和字符数据类型的值,是区分大小写的。
但是推荐使用小写,方便

  1. 反引号(`)用于包裹数据库名称,字段,数据表名称。是TAb键上方,数字1左边的英文状态的键。
  2. 以分号结束也可使用\g或者\G
    (1)以分号结尾_show databases;
    在这里插入图片描述
    (2)以\g结尾_ show databases\g和分号效果是一样的。
    在这里插入图片描述
    (3)以\G结尾_show databases\G 以一给信息为“一段”后换行,纵向排列的
    在这里插入图片描述

一、 SQL - DDL – 数据定义语言

DDL(Data Definition Language,数据定义语言)语句: 数据定义语言,主要是进行定义数据库、表的结构、数据类型、表之间的链接等操作。 例如:关键字有 CREATE用于创建数据表和数据表、ALTER用于修改表、DROP用于删除库和表 等。

1.1 数据库操作

1.1 显示现有的数据库

(1)查看MySQL服务器下的所以被创建出来的数据库

SHOW DATABASES
在这里插入图片描述

(2)查看当前数据库

SELECT DATABASE()
下方的NULL是因为,没有选择数据库
在这里插入图片描述
在DataGrip中
我们可以选择对应的数据库即可,或者切换数据库
在这里插入图片描述

(3)查看指定的数据库的创建信息

show create database 数据库名称;

在这里插入图片描述

1.2 创建数据库

创建: CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则]

(1)简单创建:
在这里插入图片描述
有无反引号都可以
在这里插入图片描述
都存在
在这里插入图片描述
(2)不可创建同名的数据库,存在即不创建
create database if not exists 数据库名称

在这里插入图片描述

(3)设置指定的字符集

utf8 -存储长度 3个字节【不建议】
utf8mb4 - 4字节

create database ss default utf8mb4
如果已经存在了该库,但没指定字符集,那就指定通过修改的方式来了。

alter database 库名 default character set 字符集
在这里插入图片描述

1.3 删除数据库

DROP DATABASE [IF EXISTS] 数据库名
在这里插入图片描述
[IF EXISTS] 是为了进一步确认存在。

1.4 使用

USE 数据库名
在这里插入图片描述
查看当前数据库名用前面,并切换数据库
在这里插入图片描述

1.2 数据表操作

对数据库中的表结构进行增删查改等操作,在这之前我们需要准备一张数据表。

1.2.1 表查询

先use指令找到数据库,
(1)查询当前所有表
show tables;

在这里插入图片描述
(2)查询表结构
DESC 表名;
在这里插入图片描述
(3)查询指定表的建表语句
SHOW CREATE table 表名;

在这里插入图片描述

1.2.2 表创建

创建库–使用库–创建表

CREATE [字段类型] TABLE [if  not  exists]表名(字段1 字段1类型[COMMENT   字段1注释]字段2 字段2类型[COMMENT   字段2注释]字段3 字段3类型[COMMENT   字段3注释]... 字段n 字段n类型[COMMENT   字段n注释])[COMMENT   表注释];

在这里插入图片描述
验证 – 查询表结构

DESC 表名;
在这里插入图片描述

在这里插入图片描述

1.2.3 修改表

(1)添加字段

ALTER RABLE 表名 ADD 字段名 类型(长度) [comment 注释] [约束];
在这里插入图片描述
修改字段名和类型

ALTER RABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [comment 注释] [约束]
在这里插入图片描述
在这里插入图片描述
删除字段

ALTER TABLE 表名 DROP 字段名

在这里插入图片描述
修改表名

ALTER table 表名 RENAME TO 新表名;
在这里插入图片描述

删除:

删除表

(1)TROP TABLE [IF EXISTS]表名;
删除指定表,并重新创建该表 --剩下表结构,数据被清除
在这里插入图片描述
(2)TRUNCATE TABLE 表名;
在这里插入图片描述

1.2.4 小结

(1)库操作

show databases;create database 数据库名;use 数据库名;select database();drop database 数据库名;

(2)表操作

show tables;create table 表名(字段 字段类型 ,字段 字段类型);desc 表名;show create table 表名;alter table 表名 add/modify/change/drop/rename to ..drop table 表名;

二、SQL - DML – 数据操作语言

DML(Data Manipulation Language)语句: 主要是对数据进行增加、删除、修改操作。常用的语句关键字有 INSERT添加数据、UPDATE修改数据、DELETE删除数据 等。

2.1 添加数据 insert

( 1 )给指定的字段添加

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

( 2 )给全部的字段添加数据

`INSERT INTO 表名 values(值1.。值b);`

( 3 ) 批量添加数据

INSERT INTO 表名(字段1.,,字段2VALUES(值1.2....)(值1.2....).(值1.2....);INSERT INTO 表名 values(值1.。值n),(值1.。值n),(值1.。值n);

注意:

  1. 插入时期,指定字段顺序,键值一一对应
  2. 字符串、日期应该在引号之中
  3. 大小、长度应该在规定的字段的范围之内
    在这里插入图片描述
    如果是插入多条数据,就多来点语句或者(3)的方请添加图片描述

2.2 修改数据 update

UPDATE 表名 SET 字段名1 =1,字段名2 =2[where 条件]; 

修改语句的条件可以有,也可无。如果没有条件,则修改整张表的所有数据
请添加图片描述

这项操作是不安全的,容易破坏元数据的----但可以同意
请添加图片描述

成功完全替换掉

请添加图片描述

2.3 删除数据 delete

`DELETE FROM 表名 [WHERE 条件]`

注意: (1)条件可有可无,没有就是所有的数据

(2)DELETE 语句不能删除某个字段的值(可以用UPDATE)

请添加图片描述

2.4 总结一下

(1)添加数据:
INSERT INTO 表名 (字段1,字段2,)VALUES(值1,值2,)[,(值1,值2,..)..];

(2)修改数据
UPDATE 表名 SET 字段1=值1 ,字段2 =值2 [WHERE 条件]l

(3)删除数据
DELETE FROM 表名 [WHERE 条件];

三、SQL - DQL – 数据查询语言

3.1 语句顺序

3.1.1 书写顺序
SELECT字段列表    字段名[AS]别名FROM表名列表WHERE 条件列表   分组之前过滤GROUP BY分组字段列表  HAVING分组后条件列表   分组之后过滤ORDER BY 排序字段列表  升序ASC 降序DESCLIMIT分页参数   起始索引从0开始
3.1.2 执行顺序
FROM表名列表WHERE条件列表GROUP BY分组字段列表HAVING分组后条件列表SELECT字段列表ORDER BY排序字段列表LIMIT分页参数

3.2 基本查询(SELECT和FROM配合)

3.2.1.> 查询多个字段

(1)SELECT 字段1 ,字段2,字段3..FROM 表名;
在这里插入图片描述

(2)SELECT *FROM 表名;
SELECT* 的*为通配符,效率低
在这里插入图片描述

3.2.2> 设置别名

as可以省略写

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

真名和替换名使用

select id,id as stu_id,name,name as stu_name from username;

在这里插入图片描述

3.2.3 去除重复记录

SELECT DISTINCT 字段列表 FROM 表名

去除的时候,不能在distinct前面有其他的字段,要不然“长度”不对呀,会报错
在这里插入图片描述

在这里插入图片描述

3.3 条件查询(where)

注意事项:

对于selct语句执行顺序  FROM   WHERE  GROUP BY  HAVING   SELECT   ORDER BY  LIMIT
3.3.1 SELECT 字段列表 FROM 表名列表

‘>’ ‘>=’ '< ’ '<= ‘=’
不等于 '<> 或者 !=
BETWEEN…AND 介于某个范围之间
IN(…)介于in列表之间的某个值
LIKE 站位符 模糊查询【_匹配单个字符 ,%匹配多个字符】
IS NULL
AND 与 && 、 OR 与|| 、 NOT与 !,他们各自效果是一样的

·
注意事项
between ……and……语句 上下包含。
between…and不能写反

3.4.分组查询(GROUP BY)

3.4.1 学习一下聚合函数(一列的整体数据纵向的计算)

count 、max、 min、 avg、 sum 直接作用字段,且null值不参与聚合函数运算

SELECT 聚合函数(字段列表)FROM 表名

在这里插入图片描述

3.4.2 分组
SELECT 字段列表 FROM[WHERE 条件]GROUP BY 分组字段名[HAVING 分组后的过滤条件];

请添加图片描述

3.4.3 WHERE,GROUP BY和HAVING

在SQL中,WHERE,GROUP BY和HAVING都是用于筛选和分组数据的关键字,但它们的使用场景和方式有所不同。

  • WHERE子句用于筛选FROM子句中指定的操作所产生的行。它在数据分组之前进行筛选。WHERE不对聚合函数进行判断,但可以使用Having

  • GROUP BY子句用于对WHERE子句的输出进行分组。它可以将多行数据根据指定的列进行分组。

  • HAVING子句用于从分组的结果中筛选行。它在数据分组之后进行筛选,主要用于对分组后的数据进行条件筛选。

  • 所以,如果你想在分组后对统计结果进行筛选,你必须使用HAVING,而不能使用WHERE

SELECT 列名, 聚合函数(列名)FROM 表名WHERE 列名 运算符 值GROUP BY 列名HAVING 聚合函数(列名) 运算符 值;

注意事项
执行顺序:where > 聚合函数 > having
分组后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

3.4.4 排序查询ORDER BY排序字段列表
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2,排序方式2;

(1)排序方式:

ASC:升序 (默认)

DESC:降序

(2)排序先按第一个方式,再第二个方式

在这里插入图片描述

3.4.5.分页查询LIMIT

SELECT 字段列表 FROM LIMIT 起始索引,查询记录数;

在这里插入图片描述
如果你想要实现分页查询,你可以使用OFFSET关键字,语法如下:

SELECT 列名FROM 表名LIMIT 数量 OFFSET 数量;

LIMIT语句的简写形式也是对的。如果你只想限制返回的记录数,而不指定起始索引,你可以直接写LIMIT 数量。

四、SQL - DCL – 数据控制语言

DCL(Data Control Language)是数据控制语言的缩写,主要用于控制不同数据的权限和访问级别,这种语言包括两个部分:GRANT和REVOKE。GRANT用于授予用户权限,而REVOKE用于撤销用户的权限。

4.1 管理用户

4.1.1,查询用户
use mysql;SELECT * FROM user;

在这里插入图片描述

4.1.2.创建用户
CREATE USER ‘用户名’@'主机名' IDENTIFIED BY '密码'

在这里插入图片描述

检测有没有权限访问其他数据库
在这里插入图片描述
在任意主机访问

CREATE user 'GG'@'%' identified  by '123456';
4.1.3.修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码'ALTER USER 'HH'@'localhost' IDENTIFIED with mysql_native_password BY '10000';

在这里插入图片描述

4.1.4.删除用户
DROP USER '用户名'@‘主机名’;

在这里插入图片描述
注意事项:

主机名可以用%通配;

主要有DBA数据库管理员使用

4.2权限控制

4.2.1.查询权限
show grants for '用户名'@'主机名'
4.2.2.授予权限
grant 权限列表 on数据库名.表名 to '用户名'@'主机名'
4.2.3.撤销权限
revoke 权限列表 on数据库名.表名 from'用户名'@'主机名'
4.2.4.全部权限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

来源地址:https://blog.csdn.net/m0_74154295/article/details/133943563

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL的基础(一)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql基础(一)

准备工作1.开启服务器··windows系统:  方法1.搜索服务,找到mysql并开启.  方法2.如果安装的是5.7版本,cmd中输入:net start MySQL57··Mac系统:  系统偏好设置开启mysql,然后命令行运行以下代码出现base字样
Mysql基础(一)
2014-12-15

MySql的回顾一:基础

周末的时光是短暂,也是轻松愉快的,在这炎炎的夏日坐在小板凳上,吹着空调喝着茶的我带你点轻轻的点开我的文章链接,带领屏幕前的你回顾一下MySql的内容,希望你能有所收获。本篇随笔分上下两部分,上半部分理论,下半部分实际操作。====上====复习:数据库的相关概
MySql的回顾一:基础
2019-10-15

MySQL基础篇(一)

本文主要内容为MySQL的基础语句以及正则表达式等内容。本文操作的数据库内容存在个人github:https://github.com/YuanGao-1/blog_demo.gitinit_schema.sql为建表脚本init_data.sql为测试数据具
MySQL基础篇(一)
2018-12-14

一、mysql基础安装

一、搭建mysql数据库mkdir /datatar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xzmv mysql-8.0.19-linux-glibc2.12-x86_64 /data/mysql添加环境变量
一、mysql基础安装
2019-03-05

MySQL基础:基础查询

DQL语言:数据查询语言3.1 基础查询语法select 查询列表from 表名;特点查询列表可以是字段、常量、表达式、函数,也可以是多个查询结果是一个虚拟表示例1、查询单个字段select 字段名 from 表名;2、查询多个字段select 字段名,字段名
MySQL基础:基础查询
2016-06-13

MySQL基础

1. 数据库1.1 数据库概述什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。什么是数据库管理系统数据库管理系统(DataBase Management Sy
MySQL基础
2019-04-23

Mysql基础编写sql案例(一)

数据库里面的数据库sql文件:https://blog.csdn.net/GongmissYan/article/details/102937816#基础查询/* 语法:、 select 查询列表 from 表名;
Mysql基础编写sql案例(一)
2021-04-12

MySQL基础

MySQL概述MySQL是关系型数据库,开源。关系型数据库:ER模型图,关系型数据库存放的是各种实体间的关系。以商城为例:常见关系型数据库:MySQL、Oracle、SQLServer、DB2。MySQL安装官网找到MySQL Community Server

	MySQL基础
2021-04-01

MySQL 基础

MySQL 基础MySQL 基础SQL 介绍DDL(数据定义语言)数据库操作数据表操作常用约束约束操作索引操作DML(数据操作语言)SELECT - 从数据库表中获取数据UPDATE - 更新数据库表中的数据DELETE - 从数据库表中删除数据INSERT
MySQL 基础
2021-06-05

Python--基础一

Python基础:print & input & 变量 & 运算符 & Python数据类型 & 运算符与表达式注释单行注释#我注释了一行多行注释三个单引号'''括起来'''我可以注释多行我可以注释多行我可以注释多行'''三个双引号"""括
2023-01-30

pyhon基础(一)

1:输出。可以用print函数,在python3版本以上需要加().print('hello word!')hello word2:输入输入有raw_input(str)在python3以上版本是:input()函数代替。username=
2023-01-31

python基础一

1989年的圣诞节期间,吉多·范罗苏姆为了打发时间,决心开发一个新的解释程序。1991年,第一个Python解释器诞生,它是用C语言实现的,并且能调用C语言的库文件。计算机不能直接理解任何除机器语言以为的语言,所以必须要把程序员所写的程序语
2023-01-30

python基础(一)

1.计算机是由什么组成的 CPU、内存、硬盘、输入输出设备 CPU 处理各种数据 相当于人的大脑 内存 存储临时数据 相当于人的临时记忆 硬盘 存储数据 相当于人的长期记忆2.
2023-01-30

django基础(一)

项目的创建和启动(venv3) [vagrant@localhost ~]$ cd /vagrant/(venv3) [vagrant@localhost vagrant]$ django-admin startproject devops
2023-01-31

python 基础(一)

第一个程序hello.py 以下为内容#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'teng'print 'hello'#!/usr/bin/env python表示使用
2023-01-31

编程热搜

目录