2. MySQL数据库基础

news2024/10/17 11:56:16

一、数据库的操作

1. 显示当前的数据库

SHOW DATABASES;

2. 创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification...];

//create_specification包括:
  [DEFAULT] CHARACTER SET charset_name
  [DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  •  [ ] 是可选项
  • CHARACTER SET:指定数据库采用的字符集
  • COLLATE:指定数据库字符集的校验规则

示例:

  • 创建名为 db_test1 的数据库。
    CREATE DATABASE db_test1;
  • 如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建。
    CREATE DATABASE IF NOT EXISTS db_test2;
  • 如果系统没有 db_test 的数据库,则创建一个使用 utf8mb4 字符集的 db_test 数据库,如果有则不创建。
    CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;

3. 使用数据库

use 数据库名;

4. 删除数据库

语法:

DROP DATABASE [IF EXISTS] db_name;

说明:数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。

示例:

drop database if exists db_test1;
drop database if exists db_test2;

二、常用数据类型

1. 数值类型

分为整型和浮点型:

扩展资料:

数值类型可以指定为无符号(unsigned),表示不取负数。

1字节(bytes)= 8bit。

对于整型类型的范围:

  • 有符号范围:-2^(类型字节数*8-1)到 2^(类型字节数*8-1)-1,如int是4字节,就是 -2^31 到 2^31-1。
  • 无符号范围:0 到 2^(类型字节数*8)-1,如 int 就是 2^32-1。

尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

2. 字符串类型

3. 日期类型

三、表的操作

需要操作数据库中的表时,需要先使用该数据库:

use db_test;

1. 查看表

--查看表
show tables;

--查看表结构
desc 表名;

示例:

2. 创建表

语法:

CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
);

可以使用 comment 增加字段说明。

示例:

create table stu_test (
   id int,
   name varchar(20) comment '姓名',
   password varchar(50) comment '密码',
   age int,
   sex varchar(1),
   birthday timestamp,
   amout decimal(13,2),
   resume text
);

3. 删除表

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

-- 删除 stu_test 表
drop table stu_test;

-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;

4. 修改表

4.1 修改表名

语法1:

alter table 旧表名 rename to 新表名;

语法2:

rename table 旧表名1 to 新表名1,旧表名2 to 新表名2,旧表名3 to 新表名3,...,旧表名n to 新表名n;

4.2 增加列

语法1:在建表完后,需要增加一些列:

alter table 表名 add column 列名 数据类型 [列的属性];

语法2:把新增的这一列,放到第一列:

alter table 表名 add column 列名 数据类型 [列的属性] first;

语法3:在某一个列后面新增一列:

alter table 表名 add column 列名 数据类型 [列的属性] after 指定列名;

4.3 删除列

语法:

alter table 表名 drop column 列名;

4.4 修改列的信息

注意:在修改后的数据类型和属性一定要兼容表中现有的数据。

语法1:只能修改列的相关数据类型和属性。

alter table 表名 modify 列名 新数据类型 [新属性];

语法2:既可以修改数据类型和属性,也可以修改列名。

alter table 表名 change 旧列名 新列名 新数据类型 [新属性];

语法3:将某列设为表的第一列。

alter table 表名 modify 列名 列的类型 列的属性 first;

语法4: 将某列放到指定列的后面。

alter table 表名 modify 列名 列的类型 列的属性 after 指定列名;

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

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

相关文章

TemporalBench:一个专注于细粒度时间理解的多模态视频理解的新基准。

2024-10-15,由威斯康星大学麦迪逊分校、微软研究院雷德蒙德等机构联合创建了TemporalBench,它通过大约10K个视频问答对,提供了一个独特的测试平台,用以评估各种时间理解和推理能力,如动作频率、运动幅度、事件顺序等。…

物联网的应用以及优势

物联网智能项目涵盖了多个行业领域,随着技术的不断进步和普及,越来越多的应用案例成为主流趋势。此篇文章将概述一些主要的物联网智能项目类别及其优势和日常使用场景: 主流物联网智能项目 1. 智能家居: •优势: 提升居住体验,…

倍福TwinCAT程序中遇到的bug

文章目录 问题描述:TwinCAT嵌入式控制器CX5140在上电启动后,X001网口接网线通讯灯不亮,软件扫描不到硬件网口 解决方法:硬件断电重启后,X001网口恢复正常 问题描述:TwinCAT软件点击激活配置后,…

CUDA 全局内存

全局内存在片外。 特点是:容量最大、延迟最大、使用最多 全局内存中的数据是所有线程可见的,Host端可见,且具有与程序相同的生命周期 动态全局内存 主机代码使用CUDA运行时API : cudaMalloc 声明内存空间; cudaFree…

仓储管理系统原型图移动端(WMS),出入库管理、库存盘点、库存调拨等(Axure原型、Axure实战项目)

仓储管理系统原型图移动端 Warehouse Management System Prototype 仓储管理系统原型图移动端是一个以图形化方式展示系统移动端界面和功能的原型设计图。原型图展示和说明系统移动端的功能和界面布局,为相关利益方提供一个直观的视觉化展示,帮助他们更…

《安全历史第5讲——秦始皇统一度量衡与代码标准化》

秦始皇统一了六国后,中国由此进入了一个崭新的历史时期。而帝国初期的一项重要决策——统一度量衡,让中国领先了千年,至今都因此受益。度量衡的统一极大地促进了社会经济交流,提高了行政效率,并为科学技术的发展奠定了…

【汇编语言】寄存器(内存访问)(五)—— 数据段

文章目录 前言1. 数据段2. 问题3. 问题的分析与解答结语 前言 📌 汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深入理解计算机底层工作原理&#…

Maven与Gradle的区别

Maven与Gradle是两种流行的构建工具,广泛用于Java项目的管理和构建。以下是它们的对比,包括官网、Windows 11配置环境、在IDEA中的相同点和不同点,以及它们各自的优缺点。 官网 Maven官网: https://maven.apache.orgGradle官网: https://gr…

idea2024启动Java项目报Error running CloudPlApplication. Command line is too long.

idea2024启动Java项目报Error running CloudPlApplication. Command line is too long. 解决方案: 1、打开Edit Configurations 2、点击Modify options设置,勾选Shorten command line 3、在Edit Configurations界面下方新增的Shorten command line选项中…

NSIS通过路径杀死指定进程解决方法

当软件安装时,如果有特定的软件正在运行,则新软件无法对其进行覆盖。同样当软件卸载时,如果其正在运行,则有残留的文件删不干净。所以便出现了在安装卸载中杀死指定进程的需求。 文章目录 一、踩坑记录1. FindProcDLL和KillProcD…

CSS3 提示框带边角popover

CSS3 提示框带边角popover。因为需要绝对定位子元素&#xff08;这里就是伪元素&#xff09;&#xff0c;所以需要将其设置为相对对位 <!DOCTYPE html> <html> <head> <title>test1.html</title> <meta name"keywords" con…

STM32的独立看门狗定时器(IWDG)技术介绍

在嵌入式系统中&#xff0c;确保系统的稳定性和可靠性至关重要。看门狗定时器&#xff08;Watchdog Timer, WDT&#xff09; 是一种常用的硬件机制&#xff0c;用于监控系统的运行状态&#xff0c;防止系统因软件故障或意外情况进入不可预期的状态。STM32系列微控制器提供了两种…

解读华为云Kuasar多沙箱容器技术,带来更强隔离性和安全性

摘要&#xff1a;沙箱技术的引入&#xff0c;为容器提供了更强的隔离性和安全性&#xff0c;成为云原生技术的重要组成部分。 本文来源 《华为云DTSE》第五期开源专刊&#xff0c;作者&#xff1a;华为云云原生开源团队研发工程师。 近年来&#xff0c;云原生容器技术飞速发展&…

整理—计算机网络

目录 网络OSI模型和TCP/IP模型 应用层有哪些协议 HTTP报文有哪些部分 HTTP常用的状态码 Http 502和 504 的区别 HTTP层请求的类型有哪些&#xff1f; GET和POST的使用场景&#xff0c;有哪些区别&#xff1f; HTTP的长连接 HTTP默认的端口是什么&#xff1f; HTTP1.1怎…

YOLO11改进 | 注意力机制 | 添加SE注意力机制

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 本文介绍了YOLOv11添加SE注意力机制&…

双通道音频功率放大电路D2822M兼容TDA2822,全封装输出功率0.11W,用于音频产品

在某客户的便携式音频产品中&#xff0c;客户想在确保其产品的性能的前提下&#xff0c;为产品方案寻找一颗国产备份料。客户产品之前使用的是TDA2822&#xff0c;在了解客户的电路设计以及该产品的电气特性后&#xff0c;给客户寻找了一款可兼容相同电路设计使用的国产厂牌芯谷…

Nginx12-集群高可用

零、文章目录 Nginx12-集群高可用 1、Nginx实现服务器集群 &#xff08;1&#xff09;单机模式 在使用Nginx和Tomcat部署项目的时候&#xff0c;我们使用的是一台Nginx服务器和一台Tomcat服务器&#xff0c;架构图如下 &#xff08;2&#xff09;集群模式 如果Tomcat宕机了…

大语言模型实战教程首发:基于深度学习的大规模自然语言处理模型LLM详解 -Shelly

我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 大模型的热度&#xff0c;实在是很高&#xff0c;诺奖也颁给了…

C语言函数递归经典例题:汉诺塔和小青蛙跳台阶

目录 汉诺塔问题描述思路代码实现思考:怎么判断一共要移动几次?(时间复杂度?) 小青蛙跳台阶BC117 小乐乐走台阶问题描述递归动态规划迭代 汉诺塔 问题描述 将塔A的柱子移动到塔C 要求: 大的柱子只能在小的柱子下面一次只能移动一个柱子 思路 想把A上的n个柱子移动到C 核…

Python学习100天第11天之文件和异常

1 前言 实际开发中常常会遇到对数据进行持久化操作的场景&#xff0c;而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词&#xff0c;可能需要先科普一下关于文件系统的知识&#xff0c;但是这里我们并不浪费笔墨介绍这个概念&#xff0c;请大家自…