MySQL数据库基础(创建/删除 数据库/表)

devtools/2025/2/8 23:31:20/

一、数据库的操作

1.1 显示当前数据库

语法:show databases;

<1>show 是一个关键字,表示要执行的操作类型

<2>databases 是复数,表示显示所有数据库

 上面的数据库中,除了java113,其它的数据库都是自带的,切不可删除

!如果输入SQL语句时发现写错了,可以ctrl + c 重新书写


 1.2 创建数据库

语法:

一、 现在创建一个名为java113的数据库

(1)先查看数据库中是否已有java113

(2)创建数据库java113

(3)检查是否创建成功

可以看到,成功创建数据库


二、if not exists 的使用

(1)创建以有数据库 java113

可以看到,由于前面已经创建了这个数据库,导致这条语句直接报错,执行失败

(2)使用if not exists 创建已有数据库

加上 if not exists 关键字后,虽然有警告,但是还是执行成功没有报错

可以通过show warnings 查看警告信息


三、创建数据库并指定排序规则

其中,character set关键字设置的是字符集,作用是定义字符的编码方式,决定数据库如何存储文本数据,collate关键字设置校对规则,作用是定义字符的排序和比较规则,影响order by 、 where条件和索引行为。

MYSQL 8.0的默认字符集为utf8mb4,校对规则为utf8mb4_0900_ai_ci


四、能否使用 create 等MySQL关键字作为数据库/表名?

可以,但是要给数据库名/表名加上反引号(键盘ESC下面一格),如:


1.3 使用数据库 

语法:use 数据库

如使用数据库java113:

 


!查看当前使用的是哪个数据库

可以使用MySQL提供的内置方法database()

(1)先通过use java113使用这个数据库

(2)通过database()查看当前使用的数据库

可以看到我们使用的数据库正是java113


 1.4 删除数据库

语法:DROP DATABASE [IF EXISTS] db_name;

<1>drop关键字:表示删除

<2>if exists关键字:表示如果存这个数据库,就删除

如删除数据库java113:

 


和创建数据库类似,如果删除没有的数据库,会直接报错:

如果加上if exists关键字,就可以执行成功


二、常用数据类型

创建数据库是为了使用数据库,使用数据库就需要创建表,而表中的每个字段都有自己的类型,因此,需要了解一些MySQL中的常用数据类型。

2.1 数值类型


2.2 字符串类型

 


2.3 日期类型 


三、表的操作

 创建好数据库之后,就需要在创建好的数据库中创建表,用来存储信息,首先,先创建并使用数据库java113

3.1 创建表

语法:

!!!注意表中字段用小括号括起来,并且要加分号。可以使用comment增加字段说明(相当于注解,如id bigint comment "学号" )

比如在java113中创建一个表,表名为student:

(1)创建表

(2)通过show tables查看当前数据库中有哪些表

(3)使用if not exists创建表

和创建数据库一样,同样可以使用if not exists进行校验,这样创建已经存在的表时,就不会报错,如再次创建student表:


3.2 查看表结构

语法:desc 表名

查看student表的结构:

其中:Null字段:表示该列表是否允许为空

           Key字段:表示键值类型(后面会了解)

           Default字段:表示当前列表的默认值 

           Extra字段:扩展内容


 3.3 删除表

语法:

如删除前面创建的student表:

(1)删除表

 

(2)查看表

说明student已经被删了

(3)通过if exists删除表

同样,如果使用if exists删除表,如果没有这个表,也不会报错


http://www.ppmy.cn/devtools/157203.html

相关文章

Vue3 —— 安装及配置环境

Vue官网&#xff1a;Vue.js - The Progressive JavaScript Framework | Vue.js 配置环境 终端&#xff1a; Linux和Mac上可以用自带的终端。 Windows上推荐用powershell或者cmd。Git Bash有些指令不兼容。 安装Node.js&#xff1a; 需要在node运行环境下调试&#xff0c;安装…

[数据结构] 线性表和顺序表

目录 线性表 顺序表的实现 顺序表各个方法的实现 boolean isFull() -- 判断数组是否放满 : void add(int data) -- 在数组末尾插入新元素 : void add(int pos,int data) -- 在指定位置插入元素 : boolean contain(int toFind) -- 判断是否包含某个元素 int indexOf(in…

Android ExpandableListView 详细用法全解析

引言 在 Android 开发中&#xff0c;列表展示是一种非常常见的交互形式。而 ExpandableListView 作为一种特殊的列表控件&#xff0c;它允许我们创建具有分组功能的列表&#xff0c;每个分组下还可以包含多个子项&#xff0c;并且分组可以展开和收缩&#xff0c;这大大增强了数…

Vue混入(Mixins)与插件开发深度解析

Vue混入&#xff08;Mixins&#xff09;与插件开发深度解析 Vue混入&#xff08;Mixins&#xff09;与插件开发深度解析1. Vue混入&#xff08;Mixins&#xff09;核心概念1.1 什么是混入1.1.1 本质定义与技术定位1.1.2 混入与相关概念的对比1.1.3 适用场景分析1.1.4 设计哲学与…

Python Bug修复案例分析:列表切片引发的内存泄漏问题

在python程序中操作一个大型数据处理系统中&#xff0c;我们发现当程序运行一段时间后&#xff0c;内存占用不断增加&#xff0c;最终导致系统性能下降。经过分析&#xff0c;发现问题出在对大量数据进行列表切片操作时的内存管理上。我们来看看相关的 代码 class DataProcess…

profinet转ModbusTCP网关,助机器人“掀起”工业智能的惊涛骇浪

在现代汽车制造过程中&#xff0c;生产设备的精确控制与实时监测是确保产品质量和生产效率的关键。某汽车制造厂在其生产线上应用了可编程逻辑控制器&#xff08;PLC&#xff09;和压力传感器&#xff0c;这两种设备分别使用稳联技术Profinet和ModbusTCP协议&#xff08; WL-A…

2021 年 9 月青少年软编等考 C 语言五级真题解析

目录 T1. 问题求解思路分析T2. 抓牛思路分析T3. 交易市场思路分析T4. 泳池思路分析T1. 问题求解 给定一个正整数 N N N,求最小的 M M M 满足比 N N N 大且 M M M 与 N N N 的二进制表示中有相同数目的 1 1 1。 举个例子,假如给定 N N N 为 78 78 78,二进制表示为 …

【MySQL】centos 7 忘记数据库密码

vim /etc/my.cnf文件&#xff1b; 在[mysqld]后添加skip-grant-tables&#xff08;登录时跳过权限检查&#xff09; 重启MySQL服务&#xff1a;sudo systemctl restart mysqld 登录mysql&#xff0c;输入mysql –uroot –p&#xff1b;直接回车&#xff08;Enter&#xff09; 输…