MySQL:数据类型表的基础操作

目录

1、数据类型

1.1 数值类型

 1.2 字符串类型

1.3 日期类型

2、表的基础操作

2.1 选择数据库

 2.2 建表

2.3 查看库中所有表

2.4 查看某一表结构

 2.5 删表

3、可视化编辑工具

3.1 运行


1、数据类型

1.1 数值类型

  • bit类型可指定长度(如果不写,默认为1位),最多指定长度为64,也就是说最多可表示64个二进制位。
  • tinyint类型也可指定长度,指定长度为1时,就认为是bool类型,也就是说 bool = tinyint(1)
  • bigint定义的整型范围比int类型更大,在建表定义编号字段时,通常使用bigint类型定义
  • float、double表示小数,但会造成精度丢失。 
  • decimal类型,M为指定的总长度,D为指定的小数位数,不会造成精度丢失,故使用小数时就用decimal定义(常用于金额)。

注意:decimal中的指定的M长度,不包括负号和小数点;若指定的D为0,则不保存小数点和小数部分(decimal表示的为整数) 。 

上述常用类型为:tinyint、int、bigint、decimal(表示小数)


 1.2 字符串类型

  •  varchar类型是最常用的字符串类型,可指定字符数量,注意,是指定字符的数量,而不是字节数。
  • text为文本数据类型,保存文章帖子等等
  • mediumtext也为文本数据类型,保存数量更大
  • blob 用来存储文件的二进制形式。但在数据库中,不建议存文件,我们通常将文件存在磁盘上,而在数据库相应的字段中存储该文件路径。

注:对于utf8mb4编码集,其中每个字符大小为:1-4字节。简单字符为1个字节,而复杂的字符最多为4个字节,如emj表情。

也就是说1个varchar类型的字段最多可存放的字符数量为: 65535/4=16383(要考虑极端情况)

拓展: 

  • 文本文件:我们能直接看懂的文件,如:记事本写的日记、Java源代码...等等
  • 二进制文件: 只有机器或程序才能读懂,以文本形式打开为乱码,以二进制形式打开为01二进制编码

1.3 日期类型

  • datetime 为新的时间类型,当跨世纪时为避免千年虫问题,避免数据的时间混乱,加大了之前timestamp的范围,datetime 为最新的时间类型。
  • timestamp 时间戳,范围小,舍弃这个类型即可。

2、表的基础操作

已知,数据库中有多个表,每个表中存储着多条记录,而每条记录又由多个列构成。

所以,我们要先选择相关数据库,然后再对这个数据库中的表进行相关操作。

2.1 选择数据库

  • 选择数据库:use 数据库名;(若没有库,要先建库) 
  • 查看所选择数据库:select database();

因为database()是MySQL内置的一个方法。

 2.2 建表

其中每个字段后,可用comment进行字段注解。

创建表也可加if not exists校验create table if not exists 表名(....);和建库时一样的写法。

注:每个表中,都强烈建议设计一个编号字段,类型设为bigint;若有varchar类型,则一定要指定长度。

-- 创建数据库
drop database if exists bit_mall;
create database if not exists bit_mall character set utf8mb4 collate utf8mb4_0900_ai_ci;-- 选中数据库
use bit_mall;-- 建表-- 商品表
drop table if exists goods;
create table if not exists goods(
goods_id bigint comment'商品编号',
goods_name varchar(20) comment'商品名',
unitprice decimal(10,2) comment'商品单价',
category varchar(10) comment'商品类别',
provider varchar(50) comment'供应商'
);
-- 客户表
drop table if exists customer;
create table if not exists customer (
customer_id bigint comment'客户号',
name varchar(20) comment'客户姓名',
address varchar(20) comment'客户住址',
email varchar(50) comment'客户邮箱',
gender bool comment'客户性别',
card_id varchar(18) comment'客户身份证'
);
-- 购买表
drop table if exists purchase;
create table if not exists purchase (
order_id bigint comment'购买订单号',
customer_id bigint comment'客户号',
good_id bigint comment'商品号',
nums int comment'购买数量'
);

2.3 查看库中所有表

查看所选择数据库中的所有表show tables;(所有表,所以为复数)

-- 查看库中的所有表
show tables;

2.4 查看某一表结构

查看所选择数据库中的某一个表的结构:desc 表名;

-- 查看表结构 
-- purchase为表名
desc purchase;

 2.5 删表

删除表:drop if exists 表名;

一个drop语句可以删除多个表,表名之间用逗号隔开。

还是那句话:使用drop语句非常危险,要慎之又慎!!!

-- 删表
-- goods为表名
drop table if exists goods;

3、可视化编辑工具

命令行客户端工具,只执行一些简单的查询或是指令,如果一两句SQL可以搞定就在这里面去执行。

但如果说要编写复杂的SQL,比如表设计,复杂查询等操作,建议大家还是去可视化工具中编写。

3.1 运行

当我们在可视化工具中编写好SQL语句后,如何在命令行工具中运行呢?

在编辑器中编写好后,保存为一个sql文件,在命令行工具中使用以下SQL语句均可运行:

  1. \. 路径  
  2. source 路径

\. D:\database\lesson3.sql

 END

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

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

相关文章

实验八: 彩色图像处理

目录 一、实验目的 二、实验原理 1. 常见彩色图像格式 2. 伪彩色图像 3. 彩色图像滤波 三、实验内容 四、源程序和结果 (1) 主程序(matlab (2) 函数FalseRgbTransf (3) 函数hsi2rgb (4) 函数rgb2hsi (5) 函数GrayscaleFilter (6) 函数RgbFilter 五、结果分析 1. …

清华和字节联合推出的视频理解大模型video-SALMONN(ICML 2024)

video-SALMONN: Speech-Enhanced Audio-Visual Large Language Models 论文信息 paper:https://arxiv.org/abs/2406.15704 code:https://github.com/bytedance/SALMONN/ AI也会「刷抖音」!清华领衔发布短视频全模态理解新模型 | ICML 2024 …

基于单片机的防火防盗报警系统设计

摘要: 该多功能防火防盗系统既具有根据环境温度和烟雾浓度进行火灾检测的功能,也有能对人体检测实现防盗的功能。多功能智能防火防盗控制系统的主控制器是 STC89C52 单片机,环境温度的检测采用 DS18B20 , MQ2 检测烟雾浓度&…

[Meachines] [Easy] Mirai Raspberry树莓派默认用户登录+USB挂载文件读取

信息收集 IP AddressOpening Ports10.10.10.48TCP:22,53,80,1276,32400,32469 $ nmap -p- 10.10.10.48 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u3 (protocol 2.0) | ssh-hostkey: | 1024 aa:ef:5c:…

@change事件传参

change事件传参 change"(value)>handleChange(value, item,index)" 这样可以接收index参数区分是哪一个组件事件&#xff0c;又可以接收子组件传的value值 <div class"boxItem" v-for"(item, index) in checkPeopleList" :key"inde…

【avue+vue2+elementui】删除、rules、页面跳转、列表数据过长、日期dayjs

这里写目录标题 一、删除二、rules三、页面跳转四、列表数据过长截断五、日期 dayjs一、删除 🍃API/*** 删除.* @param {*} data * @returns 返参*/ export const deleteOrder = (data) => {return request({url: /api/Order/deleteOrder,method: post,data}) }HTML🍃左…

5.2-软件工程基础知识-软件过程模型

软件过程模型 瀑布模型瀑布模型变种-V模型演化模型-原型模型增量模型演化模型-螺旋模型喷泉模型基于构件的开发模型形式化方法模型统一过程模型敏捷方法极限编程其他方法 软件过程模型概述练习题 瀑布模型 瀑布模型(SDLC):瀑布模型是一个经典的生命周期模型&#xff0c;一般将软…

声音和数据之间的调制解调 —— 电报机和电传打字机如何影响计算机的演变

注&#xff1a;机翻&#xff0c;未校对。 The Squeal of Data The through line between the telegraph and the computer is more direct than you might realize. Its influence can be seen in common technologies, like the modem. 电报和计算机之间的直通线比你想象的要…

Redis RDB AOF持久化 主从集群同步原理

RDB RDB Redis数据备份文件 也被叫做Redis数据快照 简单来说就是 把内存中的所有数据记录到磁盘中 当Redis实例故障实例重启后从磁盘读取快照文件恢复数据 快照文件称为RDB文件 默认时保存在当前运行目录执行时机 执行save命令 127.0.0.1:6379> save OK 127.0.0.1:6379&g…

opencascade AIS_TrihedronOwner源码学习对象的实体所有者用于选择管理

opencascade AIS_TrihedronOwner 前言 AIS_Trihedron对象的实体所有者用于选择管理。 在OpenCascade的AIS&#xff08;交互对象框架&#xff09;中&#xff0c;管理类似AIS_Trihedron的对象的选择涉及理解如何处理实体&#xff08;或所有者&#xff09;以进行选择。 方法 1…

正则表达式 空格匹配

目录 一. 前提二. 半角空格 匹配半角空格三. ^ 匹配半角空格开头的半角空格四. ^ $ 匹配整行都是半角空格五. ^[ \t]$ 匹配整行都是半角或Tab空格六. \s 匹配所有空格七. [^\s]匹配除了空格之外的所有内容 一. 前提 &#x1f447;&#x1f447;&#x1f447;有如下所示的内容…

程序员面试 “八股文”在实际工作中是助力、阻力还是空谈?

“八股文”在实际工作中是助力、阻力还是空谈&#xff1f; 作为现在各类大中小企业面试程序员时的必问内容&#xff0c;“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢&#xff1f;有IT人士不禁发出疑问&#xff1a;程序员面试考…

CTF web bibibi题型

CTF web bibibi题型 1.进入网站 在kali中使用Dirsearch对地址进行目录扫描&#xff0c;发现robots.txt 网址内加入 /robots.txt 进入网址 /fl4gi5Here.php 找到flag

Uni-APP页面跳转问题(十六)

【背景】最近在做公司一个PAD端,谁被点检功能,主要时为了移动端点检设备和打印标签,需求比较简单就是扫描设备二维码,问题在于扫描后要能够重复进行多设备的扫描;早期开发的设备点检能够满足需求但是当连续扫描五六十个设备后,APP卡死,必须重启才能使用。 界面原图: 输…

安全基础学习-keil调试汇编代码

初始目的是为了通过汇编编写CRC功能。 但是基础为0,所以目前从搭建工程开始记录。 大佬绕路。 (一)创建项目 1. 新建项目 打开 Keil uVision。选择 Project -> New uVision Project 创建一个新项目。选择你的目标设备(如 ARM Cortex-M 系列处理器),我这里一开始选择…

buu做题(12)

[CISCN 2019 初赛]Love Math <?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("太长了不会算");…

Creomagic 推出认知通信功能以应对电子战 (EW) 威胁

新时代的软件定义无线电 (SDR) 技术可以在电子战和竞争频谱环境中自主维护可靠的网络。 最近的全球冲突凸显了现代战场上战术通信面临的严峻挑战。随着自主部队的日益普及&#xff0c;战场感知变得比以往任何时候都更加先进&#xff0c;需要大量信息传输和同步。在战场上传输关…

MacOS上如何优雅的使用Burp Suite Professional

MacOS上如何注册使用Burp Suite Professional 文章目录 MacOS上如何注册使用Burp Suite Professional一.如何下载二.安装BurpSuite三.注册四.启动五.创建可执行文件六.写在最后 一.如何下载 JDK官网下载 BurpSuite专业版官网下载 [注册机下载]( https://pan.baidu.com/s/10…

秒懂Linux之编写小程序——进度条

目录 一.前文摘要 二.进度条编写 三全部代码&#xff08;非Linux环境下测试&#xff09; 一.前文摘要 在开始编写之前我们先来学习一些后面会用到的知识点~ 测试结果发现&#xff0c;Sleep无作用&#xff0c;编译完会立刻打印~ 再来看另一个测试~我们同样没有换行&#xff0c…

设计模式的优点

设计模式的优点 1、可重用性2、架构指导3、经验传承4、设计透明5、实践验证 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、可重用性 设计模式允许开发者在遇到相似问题时复用解决方案&#xff0c;节省时间并减少错误。 2、架构指导 …