MySQL_数据类型建表

news/2024/11/2 13:49:51/

复习:

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

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.ppmy.cn/news/1543880.html

相关文章

Vue3+Data-V实现可视化大屏页面布局

目录 一、前言 二、环境准备 1.Vue3安装npm create vuelatest 2.Data-V配置 1.项目Data-v安装 2.main.js中注册Data-v到全局 ​编辑3.可使用按需引入 4.测试 三、导航栏路由跳转配置 1.子组件mainNav组件准备 2.父组件准备导航栏参数传递 3.子组件接收父组件参数 …

OpenAI推出搜索GPT,进军搜索引擎领域

OpenAI 推出了一项新功能——Search GPT,为 ChatGPT 引入实时网络搜索功能,使其站上与 Google 和 Bing 等搜索巨头竞争的舞台。 OpenAI 产品的重大变化,Search GPT 承诺提供快捷、实时的答案,并附上可靠来源的链接。 ChatGPT 一直…

SpringBoot中扩展Druid的过滤器实现完整的SQL打印

文章目录 前言正文环境说明过滤器扩展配置数据源和过滤器数据库配置信息打印结果 前言 之前通过Mybatis 、Mybatis Plus 的拦截器扩展,实现自定义的Handler,拼接了完整的SQL。 本次使用 Druid 的过滤器来实现这一功能。输出一个完整的sql,并…

基于知识引导提示的因果概念提取(论文复现)

基于知识引导提示的因果概念提取(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 基于知识引导提示的因果概念提取(论文复现)论文概述论文方法提示构造器获取典型概念集聚类典型概念构建训练数据训练主题分类器概念提取器输入构造指针网络置信度评分训练损失…

【小白学机器学习31】 大数定律,中心极限定理,标准正态分布与概率的使用

目录 1 正态分布相关的2个相关定理 1.1 大数定律:(证明了)分布的稳定性 1.2 中心极限定理:(证明了)分布的收敛性 2 使用标准差和概率的2种思路 2.1 标准正态分布的曲线 2.2 两种使用方式 2.3 第1种:按整数倍标准差δ 作为标准使用 2.…

printf实现彩色输出, ANSI 转义序列详解

ANSI 转义序列是一种在终端中改变文本颜色和其他属性的方法。基本格式为 \e[<code>m&#xff0c;其中 <code> 是一系列数字&#xff0c;用于表示不同的颜色和属性。 基本格式 \e[<code>m这里的 <code> 可以是单个或多个数字&#xff0c;用分号 ; 分隔…

服务器被黑客攻击:如何查看攻击流量

在互联网时代&#xff0c;服务器遭受黑客攻击的风险日益增加。了解如何检测和分析攻击流量对于维护服务器安全至关重要。本文将介绍几种常用的方法和技术&#xff0c;帮助系统管理员快速识别和响应潜在的攻击行为。 一、日志分析 日志文件是追踪服务器活动的第一手资料&#…

AI人工智能电话机器人如何使用效果最好

随着科技的不断进步&#xff0c;人工智能已经成为了我们生活中不可或缺的一部分。AI人工智能电话机器人正是其中的一种形式&#xff0c;可以帮助企业或组织更好地实现电话营销的目标&#xff0c;接下来我们看看ai智能电话机器人怎么使用。 什么是AI人工智能机器人电话&#xf…