MySQL_数据类型建表

复习:

我们昨天学习的知识都忘了嘛?如果忘了也不要担心,我来带大家来复习一遍吧!!!

1.查看所有数据库     show databases;
2.创建属于自己的数据库    create database 数据库名;

检查自己创建的数据库是否已经存在,如果已经存在就报错,不存在时就成功创建:
create database if not exists数据库名;

相当于在自己创建库时添加了一个校验
强烈建议大家在创建数据库的时候指定编码集和排序规则


create database if not exists 数据库名 character set utf8mb4|collate utf8mb4_0900_ai_ci;MYSQL8.0版本固定写法
3.查看警告信息              show warnings;
4.查看当前数据库服务默认的编码集  show variables like '%character%';

咱们昨天讲的都已经复习完了,让我们开始对新知识的学习吧!!!


  1.  建库小知识


create database 库名;
如果我想创建一个名字为create 或database的数据库,可不可以?

我们可以看到MYSQL报了错误,这是因为这两个都上是MYSQL中的关键字


但是MYSQL中允许开发者使用关键字命名,但是在使用的时候要用反引号把关键字引起来反引号在键盘上的位置,ESC下边,TAB上边,1的左边,要用英文字符


我们可以看到创建成功了

所以我们在使用其他的关键字的时候也是一样的,比如:show create .......

2. 选择库

我们可以看到上述有11个数据库,那么我们要怎么去选择我们要的数据库呢?

此时  USE 就是我们要选择操作数据库的关键字:

用法:
use 数据库名[;]   

 select database();    查看当前选择(操作)的是哪个数据库    

切换(选择)数据库成功
database()    为MSYQL提供的一个内置方法    
 

3.删除数据库



mysql> drop database 'create`     只要出现Query Ok,就表示执行成功    

注意:
在我们今后的工作中删库跑路,这个词在我们业务非常常见    ,但是我们真的可以随便删库跑路吗?
1.如果说明恶意删库,那么直接110打起来    
2.如果是因为工作失误删了库,最起码年终奖没有了,有可能还会影响在公司的晋升机会    
所以数据库中所储存的数据对公司来说非常重要,也是公司的核心资产,大家操作数据库的时候    
一定要有敬畏之心 , 不能随便删库跑路。在自己的项目或是公司中千万不要这么做使用之前一定要慎之又慎,如果公司中有这样的需求,一定要把你的领导同事叫过来,一起来干这个事 drop 开头的SQL语句,可以把他忘了

例子:
之前就是有一个顺丰的程序员,删库之后,从公司离职了,其他的大厂抛来了橄榄枝,因为在行
删除数据库是一个非常非常危险的操作,最后进局子了
 

4.数据类型

1. 类型列表

2 数据类型取值范围

3 类型列表

4 CHAR与VARCHAR的区别

• CHAR 固定⻓度的字符串, M 表⽰以字符为单位的列⻓度,取值范围 0 ~ 255 ,省略则⻓度为 1 ,在存储时总是⽤空格向右填充到指定的⻓度,获取列的值时会从尾部删除空格。允许定义 CHAR(0),此时列的值只能为NULL或空字符串,主要的⽬的是为了旧系兼容,⽐如类中必须有这个 属性,但不使⽤这个属性的值,也就是说值并没有意义,但列⼜不能没有。

• VARCHAR 可变⻓度字符串。 M 表⽰以字符为单位的最⼤列⻓度,取值范围0 ~ 65,535 (在所 有列中共享),有效⻓度取决于实际字符数和使⽤的字符集,并且⽤额外的⼀或两个字节记录实际使 ⽤的字节数,当实际字节数不超过255个字节⽤⼀个字节记录⻓度,超过255个字节时,使⽤两个 字节记录⻓度,获取列的值时不会从尾部删除空格,插⼊数据时会删除超出⻓度的空格。

5 如何选择CHAR与VARCHAR

• 如果数据确定⻓度都⼀样,就使⽤定⻓ CHAR 类型,⽐如:⾝份证,md5,学号,邮编。

• 如果数据⻓度有变化,就使⽤变⻓ VARCHAR ,⽐如:名字,地址,但要规划好⻓度,保证最⻓的字 符串能存的进去。

• 定⻓ CHAR 类型⽐较浪费磁盘空间,但是效率⾼。

• 变⻓ VARCHAR 类型⽐较节省磁盘空间,但是效率低。 • 定⻓ CHAR 类型会直接开辟好对应的存储空间。

• 变⻓ VARCHAR 类型在不超过定义⻓度范围的情况下⽤多少开辟多少存储空间。

6 VARCHAR与TEXT的区别

• 容量⼤⼩: VARCHAR 最⼤⽀持 65535 个字节; TEXT 最⼤⽀持 65535 个字节,在指定TEXT ⻓度时,当超过 65535 时⾃动转换为 MEDIUMTEXT 类型,当超过 16,777,215 时⾃动转换为 LONGTEXT 类型

• 存储位置: VARCHAR 类型的列实际内容⼩于768个字节时存在当前⾏,⼤于768时存在溢出⻚, 当前⾏保存溢出⻚的地址; TEXT 类型的列整体保存在溢出⻚,当前⾏只保存溢出⻚地址

• 查询性能:对于频繁查询的 VARCHAR 列可以创建索引,提升查询性能; TEXT 类型的列⽆法直 接创建普通索引,但可以使⽤ FULLTEXT 索引,由于索引的⽀持和存储位置的不同, VARCHAR 列的性能⾼于 TEXT 类型的列

• 适⽤场景:如果存储的数据⻓度较⼩且需要创建索引进⾏检索,可以选择 VARCHAR 类型,⽐如姓 名,⽤⼾,邮箱等;如果存储的数据⻓度较⼤且不需要频繁以该列为条件进⾏检索可以选择 TEXT 类型,⽐如⽂章内容等。

5. ⽇期类型

6.表的操作

创建完数据库之后,就要在数据库中创建表表中存储的数据记录,一条记录由不同的列组成

需要创建表时,先要选择要操作的数据库 use 数据库名

1.创建表

示例: 创建一个名字为student的学生表,表中只包含两个字段,id 表示编号,name表示姓名,长度为50
 (    强烈建议每张表中都要设计一个编号字段,数据型为bigint    )
 varchar的长度记得要指定,当前这个长度是我们拍脑门拍出来的
在实际工作中要根据详细设计文档中的描述转换为代码就可以了
show tables;    查看当前数据库中有哪些表    



出现这个结果就表示表已经创建成功了

2. 查看表结构:

命令行客户端工具,只执行一些简单的查询或是指令,如果一两句SQL可以搞定就在这里面去执行如果说要编复杂的SQL,比如表设计,复杂查询,建议大家还是去可视化工具中编写

如果在可视化编辑工具中把创建表的SQL编写好了,如何在命令行工具中执行?

1.下载一个MYSQL的图形化界面工具 Navicat Premium 15,并打开

2。点右上角的连接,输入连接名(自己随便写,但是不要是中文),输入MYSQL中自己设置的密码

3.点击自己要用的数据库,并点击新建查询,就使用了可视化编辑工具Navicat Premium 15

3.校验表操作

4.删除表

关于drop一定要谨慎操作
删除表之后,很难第一时间被发现,删表的危害并不亚于删库
删除库之后,我们的程序在运行的过程中就连不上数据库了,只要发现问题就会及时报警,以便修复问题

今日份总结

关于表的操作
1. show tables;查看当前数据库中所有的表

2. use 数据库 :选择你要使用的数据库

3. select database(); :查看你使用的数据库
2. create table (
字段名1数据类型  comment ' 备注名',

字段名2 数据类型  );
3.desc 表名; 查看表结构
4. drop table [if exists] 表名;

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

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

相关文章

PHP不良事件上报系统源码,医院安全不良事件管理系统,基于 vue2+element+ laravel框架开发

不良事件上报系统通过 “事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、 以及 “事后的原因分析和工作持续优化”,结合预存上百套已正在使用的模板,帮助医院从对护理事件、药品事件、医疗器械事件、医院感染事件、输血事件、意…

在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序

如果您有 Android 设备,您可能会将个人和专业的重要文件保存在设备的 SD 卡上。这些文件包括照片、视频、文档和各种其他类型的文件。您绝对不想丢失这些文件,但当您的 SD 卡损坏时,数据丢失是不可避免的。 幸运的是,您不需要这样…

实战:看懂并分析执行计划——Nested Loops (Inner Join)

这是执行计划中 Nested Loops 的详情信息,下面将逐行解释每个字段的含义,并提供优化思路。 Nested Loops 分析 Physical Operation: Nested Loops (Inner Join) 物理操作,表示这是一个嵌套循环连接(Nested Loops),用于执行 INNER JOIN。嵌套循环通常用于小数据集的连接…

Meta Llama3用于药物发现的微调、RAG 和提示工程-LLM保姆级资料

Meta Llama3用于药物发现的微调、RAG 和提示工程的使用指南:LLM微调的基本概念,每种微调方式的深入解读,2种生物医药领域的Llama3的微调应用。 LLM 如何微调LLMs?3种微调方式,什么时候?什么情况下该使用何…

如何通过 PXE 使用 UEFI 启动 Tiny Core Linux

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

根据关键字搜索商品API返回值解析:深入解析与代码实践

在电子商务和数据集成领域,API(应用程序编程接口)扮演着至关重要的角色。通过API,开发者可以访问和利用平台的数据资源,实现自动化和智能化的数据交互。本文将探讨如何根据关键字搜索商品API的返回值进行解析&#xff…

Python http打印(http打印body)flask demo(http调试demo、http demo、http printer)

文章目录 代码解释 代码 # flask_http_printer.pyfrom flask import Flask, request, jsonify import jsonapp Flask(__name__)app.route(/printinfo, methods[POST]) def print_info():# 分隔符separator "-" * 60# 获取请求头headers request.headers# 获取 JS…

「C/C++」C/C++ STL 之 迭代器

✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明「…

大模型微调,使用QLoRA和自定义数据集微调大模型(下)

4.8 数据预处理 在微调模型之前,我们不能直接使用原始数据集,需要将数据集中的提示转换成模型能够理解的格式。 为了使数据集适配微调流程,这里编写辅助函数来格式化输入数据集。具体来说,就是将对话摘要(即提示-响应…

【NOIP普及组】质因数分解

【NOIP普及组】质因数分解 C语言代码C代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。 输入 输入只有一行,包含一个正整数…

js--高阶函数之参数归一化

一、前言 参数归一化:是我们软件开发里一个非常重要且实用的技巧,用的好极大简化代码同时提升代码的可阅读性和可维护性。以下我用日期格式化为例,演示一下参数归一化的技巧。 二、日期格式化实例 /*** 辅助格式化函数* param {string|functi…

均值、期望、方差、标准差与协方差:基础概念解析

均值、期望、方差、标准差与协方差:基础概念解析 在统计学和数据分析中,均值、期望、方差、标准差和协方差是描述数据分布和关系的基本工具。理解这些概念有助于我们更好地分析和处理数据。本文将详细讲解这些概念的定义、计算方法及其在实际应用中的意…

shell基础

一、理解bash基础 默认的Linux shell——Bash(Bourne Again SHell)可以通过命令控制系统,执行文件操作,或者启动应用程序。它可以在命令行上交互式使用,或者你可以创建一个包含多个shell命令的文件,并像启…

js树状结构,自叶到根统计各级数量

$($(".tree-item").get().reverse()).each(function () {let self $(this).find("span").text()let prev $(this).parent(".two").prevAll(".tree-item").find("span").text()self self ? self : 0prev prev ? prev :…

学习threejs,使用JSON格式保存和加载整个场景

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE toJSON()方法 二、&a…

论文1—《基于卷积神经网络的手术机器人控制系统设计》文献阅读分析报告

论文报告:基于卷积神经网络的手术机器人控制系统设计 摘要 本研究针对传统手术机器人控制系统精准度不足的问题,提出了一种基于卷积神经网络的手术机器人控制系统设计。研究设计了控制系统的总体结构,并选用PCI插槽上直接内插CAN适配卡作为上…

SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“

SLF4J常见问题 导入依赖&#xff1a; <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version> </dependency> <dependency><groupId>org.slf4j</groupId><arti…

资产管理系统:SpringBoot技术驱动

4系统概要设计 4.1概述 系统设计原则 以技术先进、系统实用、结构合理、产品主流、低成本、低维护量作为基本建设原则&#xff0c;规划系统的整体构架. 先进性&#xff1a; 在产品设计上&#xff0c;整个系统软硬件设备的设计符合高新技术的潮流&#xff0c;媒体数字化、压缩、…

YOLO可视化界面,目标检测前端页面。

使用PySide6/QT实现YOLOv5/v8可视化GUI页面 在人工智能和计算机视觉领域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;是一种广泛使用的实时目标检测算法。为了直观地展示YOLO算法的检测效果&#xff0c;我们可以使用Python中的PySide6库来创建一个简单的GUI应…

使用vuex动态设置全局字号

1.安装vuex npm install vuexnext --save 2.编写字号设置样式 // 定义字号变量 :root {--font-size: 18px;--font-size-step1: 16px;--font-size-step2: 14px;--font-size-step3: 12px; } // 定义样式&#xff08;全局样式文件&#xff09; body, page {font-size: var(--fo…