Mysql数据库基础(入门)


目录

一.认识Sql

1.什么是Sql

2.Sql的作用

3.Sql通用语法

4.Sql分类

二.数据库的操作(DDL)

1.创建数据库

2.显示/使用数据库

3.修改数据库

4.删除数据库

三.常用数据类型

1.数值类型

2.字符串类型

3.日期类型

4.详细的数据类型

四.表的操作(DDL)

1.创建表

2.查看表

3.修改表

4.删除表



一.认识Sql

1.什么是Sql

        结构化查询语言(Structured Query Language)简称Sql.它是一种特殊的带有目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系数据库系统。

2.Sql的作用

        ①所有关系型数据库都可以使用SQL

        ②是所有关系型数据库的统一查询规范,不同的关系型数据库都支持SQL

        ③不同数据库之间的sql有一些区别(我们在此主要学习MySql数据库)

3.Sql通用语法

        ①SQL语句可以单行 或者 多行书写,以分号 结尾 ; (Sqlyog中可以不用写分号)

        ②可以使用空格和缩进来增加语句的可读性。

        ③MySql中使用SQL不区分大小写,一般关键字大写,数据库名 表名列名 小写。

        ⑤注释方式

注释类型

语法

说明

示例

单行注释

-- 注释内容

标准SQL单行注释,

必须包含空格

--

后紧跟一个空格)

SELECT * FROM users; -- 查询所有用户数据

多行注释

/* 注释内容 */

标准SQL多行注释,可跨越多行

/* 该查询用于获取活跃用户数据 创建日期:2023-01-01 */

MySQL单行注释

# 注释内容

MySQL特有单行注释,

无需空格

#

后可直接写内容)

SELECT * FROM products # 获取所有商品信息

4.Sql分类

分类

简称

全称

说明

数据定义语言

DDL

Data Definition Language

定义数据库对象:数据库、表、列等

(例如:

CREATE

,

ALTER

,

DROP

数据操作语言

DML

Data Manipulation Language

对数据库中的表记录进行更新操作

(例如:

INSERT

,

UPDATE

,

DELETE

数据查询语言

DQL

Data Query Language

查询数据库中的表记录

(核心命令:

SELECT

数据控制语言

DCL

Data Control Language

定义数据库访问权限、安全级别及创建用户

(例如:

GRANT

,

REVOKE

(了解)

  • 建表结构 → DDL
  • 增删改数据 → DML
  • 检索数据 → DQL
  • 设置用户权限 → DCL

我们在此重点学习DML和DQL。

二.数据库的操作(DDL)

1.创建数据库

命令 说明
create database 数据库名;创建指定名称的数据库。
create database 数据库名 character set字符集;创建指定名称的数据库,并且指定字符集(一般都指定utf8mb4)

        示例:

        创建名为 db_test的数据库

create database db_test;

        如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test 数据库,如果有则不创建

create database if not exists db_test character set utf8mb4;

2.显示/使用数据库

命令说明示例
USE 数据库名;切换当前操作的数据库USE shop_db;
SELECT DATABASE();查看当前正在使用的数据库名称SELECT DATABASE(); → 返回 shop_db
SHOW DATABASES;列出MySQL服务器中所有数据库SHOW DATABASES; → 显示所有数据库列表
SHOW CREATE DATABASE 数据库名;查看指定数据库的详细定义信息SHOW CREATE DATABASE shop_db;

        示例:

       使用数据库或切换数据库到db_test

use db_test;

        查看当前正在使用的数据库

select database();

        查看Mysql中有哪些数据库

show databases;

        查看一个数据库的定义信息

show create database db_test;

3.修改数据库

命令说明
alter database 数据库名 character set 字符集;数据库的字符集修改操作

        示例:        

        将数据库db_test 的字符集 修改为 utf8

alter database db_test character set utf8;

        查看当前数据库的基本信息,发现编码已更改

show create database db_test;

4.删除数据库

命令说明
drop database 数据库名从MySql中永久的删除某个数据库

        示例:

        删除数据库db_test

drop database db_test;

三.常用数据类型

1.数值类型

分为整数类型和浮点类型

数据类型大小说明对应 Java 类型
BIT[(M)]M 位(1-64)二进制数,存储范围:0 到 2^M-1
默认 M=1(存 0/1)
Boolean
INT4 字节整数范围:-2³¹ 到 2³¹-1 (约 ±21 亿)Integer
DOUBLE(M, D)8 字节双精度浮点数,M=总位数,D=小数位Double
DECIMAL(M, D)M/D 最大值 + 2 字节精确小数,M=总位数,D=小数位
适合财务计算
BigDecimal

2.字符串类型

数据类型大小说明对应 Java 类型
VARCHAR(SIZE)0-65,535 字节可变长度字符串,SIZE=最大字符数
推荐存储长度不固定的文本(如用户名)
String
TEXT0-65,535 字节 (64KB)存储长文本数据(如文章/评论)
不支持默认值
String

3.日期类型

数据类型大小说明对应 Java 类型
DATETIME8 字节范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59
不涉及时区转换
java.util.Date
java.sql.Timestamp
TIMESTAMP4 字节范围:1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC
自动时区转换
java.util.Date
java.sql.Timestamp

4.详细的数据类型

四.表的操作(DDL)

1.创建表

        创建表student 包括学号,姓名,年龄字段 ,并且使用comment关键字 给字段起别名

create table student{id int comment '学号',name varchar(20) comment '名字',age int comment '年龄'
};

2.查看表

命令说明
show tables;查看当前数据库中的所有表名
desc 表名;查看数据表的结构

        查看表student结构

desc student;

3.修改表

        快速创建一个表结构相同的表(复制表结构)

                将student表结构复制给student1

create table student2 like student;

       修改表名 rename table 旧表名 to 新表名

                将student表 改为 student1

rename table student to student1;

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

        将student表的字符集 修改为gbk   

alter table student character set gdk;

        向表中添加列  alert table 表名 add 字段名称 字段类型

        为student表添加一个新的字段为 学生描述 cdesc varchar(20)

ALTER TABLE student ADD cdesc VARCHAR(20);

      修改表中的列的数据类型或长度,关键字modify alter table 表名 modify 字段名称 字段类型

        对student表的age字段进行修改,类型varchar(50)

ALTER TABLE student MODIFY cdesc VARCHAR(50);

      修改列名称,关键字change alter table 表名 change 旧列名 新列名 类型(长度)

        对student表中的 age字段进行更换, 更换为 Age varchar(30)

ALTER TABLE student CHANGE cdesc description VARCHAR(30);

删除列,关键字drop alter table 表名 drop 列名;

        删除student表中description这列

ALTER TABLE student DROP description;

4.删除表

命令说明
drop table 表名;删除表(从数据库中永久删除某一张表)
drop table if exists 表名;判断表是否存在, 存在的话就删除,不存在就不执行删除

        示例:

        删除表student

drop table student;

        判断表student是否存在,再删除

drop table if exists student;

        如果要删除表中的所有数据,有两种做法

                1. delete from 表名; 不推荐. 有多少条记录 就执行多少次删除操作. 效率低

                2. truncate table 表名: 推荐. 先删除整张表, 然后再重新创建一张一模一样的表. 效率高

 

truncate table 表名;

有错误的地方,大家一起指出,一起学习!!!

完结撒花,下一章内容会学习对表中的数据进行操作!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/91043.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/91043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 锁机制 15 连问 · 面试速答版

一、脑图:锁全景(先记结构,再填细节) 锁层级 ├─ 表锁 │ ├─ 意向锁 IS / IX │ └─ 表锁 READ / WRITE └─ 行锁├─ 记录锁 Record├─ 间隙锁 Gap└─ 临键锁 Next-Key二、15 问 15 答(面试官一问一…

【Linux】发展历程

很高兴为您详细介绍Linux操作系统的详细发展历程。Linux是一个自由和开放源代码的操作系统内核,由林纳斯托瓦兹(Linus Torvalds)于1991年首次发布。以下是Linux操作系统的主要发展里程碑:1. Linux 0.01 (1991)发布日期&#xff1a…

LNMP架构+wordpress实现动静分离

WordPress简称WP,最初是一款博客系统,后逐步演化成一款免费的CMS(内容管理系统/建站系统)。 WordPress网站的适用场景: 博客 企业官网 作品集网站 电商平台 线上教育系统 论坛和社群网站 甚至会员系统、订阅内容…

智慧灯杆:不止于照明,塔能科技的城市感知网络野心

当夜幕悄然降临,城市里的路灯便依次亮了起来,它们可不单单照亮了行人前行的路以及车辆行驶的道路,实际上还在悄无声息地经历着一场变革。现如今的路灯,早已不再仅仅充当单纯的照明工具这么一个角色了,而是逐渐转变成了…

【Linux内核模块】调试技巧

内核模块开发最让人头疼的不是写代码,而是调试 —— 代码编译通过了,加载后却要么没反应,要么直接让系统崩溃。这就像在黑屋子里修机器,看不见摸不着。其实内核调试有一套成熟的工具箱,掌握这些工具和技巧,…

RK3568笔记九十一:QT环境搭建

若该文为原创文章,转载请注明原文出处。 记录按照正点原子给的手册搭建QT环境 参考《09【正点原子】ATK-DLRK3568_Qt开发环境搭建V1.2.pdf》 一、安装 1、下载 https://mirrors.sau.edu.cn/qt/archive/online_installers/4.6/qt-unified-linux-x64-4.6.0-online.run 2、赋…

面试实战,问题十六,Java面试,消息队列,如何避免消息重复消费,怎么回答

在Java面试中,关于消息队列如何防止消息被重复消费的问题,可以从以下几个方面进行回答,结合系统架构设计、消息队列机制和业务逻辑处理,确保在不同场景下实现消息的幂等性。 1. 消息队列重复消费的根本原因 消息重复消费的根本原因…

PDF转图片实用指南:如何批量高效转换?

将PDF转换为图片后,可以更方便地在演示文稿、网页或电子相册中使用这些资料,以便更好地展示信息。它 是一款支持多文件批量转换的工具,可将多个 PDF 文档一键转换为图片格式。虽然界面为英文,但操作简单,不影响使用。你…

走入Linux的世界:编辑器Vim

嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…

PyTorch中神经网络的模型构建

要构建自定义模型,需完成两个核心步骤:继承 nn.Module 类;重载 __init__ 方法(初始化)和 forward 方法(前向计算) 神经网络的构造 初始化方法(__init__) def __init__…

QML QtCharts坐标轴系统

QtCharts是Qt框架中强大的数据可视化模块,它提供了丰富的图表类型和灵活的坐标轴系统,能够满足各种数据展示需求。本文将全面介绍QML中QtCharts的坐标轴系统,包括数值坐标轴(ValueAxis)、对数坐标轴(LogValueAxis)、分类坐标轴(CategoryAxis)…

TI 2025全国电赛猜题

本科组可能的题目方向本科组器材更侧重高频信号处理、复杂控制系统、精密测量及多设备协同,可能涉及以下题目:四旋翼飞行器相关任务题目示例:设计 “基于四旋翼的 UV 光控自主导航系统”任务要求:利用四旋翼飞行器(最大…

Python自动化运维实战指南

什么是自动化运维定义与背景自动化运维是指利用工具和脚本自动执行传统上需要人工操作的IT运维任务,包括但不限于服务器配置管理、软件部署、监控告警、日志分析等日常工作。随着互联网业务规模的扩大,传统手工运维方式已无法满足快速部署、规模化管理等…

k8s的csi对接GPFS

在 Kubernetes(k8s)集群中,通过 CSI(Container Storage Interface)对接 GPFS(General Parallel File System,现为 IBM Spectrum Scale)是实现高性能共享存储的重要方案。GPFS 作为并…

HTB赛季8靶场 - era

nmap扫描 └─$ nmap -p- --min-rate 1000 -T4 10.129.137.201 -oA nmapfullscan Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-07-27 21:19 EDT Warning: 10.129.137.201 giving up on port because retransmission cap hit (6). …

Bug猫学习史#1:面向对象

在Java编程中,掌握几个核心概念对深入学习至关重要:类属性建议采用包装类以提升灵活性;建造者模式中this关键字能有效简化对象构建过程;static关键字涉及类的加载机制;接口默认使用public修饰符并支持默认方法实现&…

优测推出HarmonyOS全场景测试服务,解锁分布式场景应用卓越品质!

随着HarmonyOS NEXT“纯血鸿蒙”的全面商用,生态正以前所未有的速度重构终端操作系统格局。对于APP厂商而言,应用测试需要从单一设备思维向场景化服务验证转变。优测云服务平台正式推出 HarmonyOS全场景测试解决方案,针对鸿蒙系统提供功能测试…

二层环路与三层环路:原理、区别与解决方案全解析

网络环路是网络运维中最常见也最具破坏性的问题之一。本文将深入浅出地解析二层环路和三层环路的核心概念,通过对比分析帮助读者全面理解这两种环路的形成机制、危害表现及解决方案。一、环路问题概述 1.1 什么是网络环路 网络环路是指数据包在网络中循环传输无法到…

Python爬虫库性能与选型实战指南:从需求到落地的全链路解析

目录 一、性能基准测试:用数据打破认知误区 1. 静态页面采集:效率与资源的终极对决 2. 动态页面渲染:速度与真实性的博弈 二、场景化选型矩阵:从需求到工具的精准映射 1. 小规模快速原型开发(≤1000页)…

uni-app switch(开关选择器) BUG

uni-app switch(开关选择器) BUGBUG:uni-app中的switch的checked属性并不能根据根据绑定的动态数据进行调整switch开关选择器(BUG)switch开关选择器(BUG) - 我的使用用途switch开关选择器&#…