【MySQL】数据库基础操作一:建库与建表

news2024/11/17 11:42:27

目录

🌟前言

🌈1、常见的关系型数据库        

🌟数据库的基本操作

🌈1、常用数据库的操作

🌈2、常用的数据类型

🌈3、表的基本操作

🍅创建表的一个小练习


🌟前言

🌈1、常见的关系型数据库        

数据库描述
ACCESS微软出的一个在OFFICE里继承的一个小型数据库。SQLITE常在手机的APP里面,桌面程序。
SQL Server微软真正意义上的大型数据库。
MySQL用的最多的数据库:开源,免费。
PostgreSql具体效率比MySQL高一点,部分公司在使用。
Oracle业内最强的数据库。收费。

非关系型数据库(了解):不规定基于SQL实现,更多的是指NoSQL数据库。有基于键值对的(比如memcached,redis),基于文档型的(mongodb),基于列族(hbase),基于图型(neo4j)。

❓问题:数据库服务和我们常说的数据库有什么区别呢? 

         客户端和服务之间的通信是通过网络传输的。每台数据库服务器上管理着很多个数据库,每个数据库中有很多数据表,每个数据表中有很多数据行(每条记录),每个数据行中有很多的字段。

🌟数据库的基本操作

🌈1、常用数据库的操作

 (1)在终端连接数据库

mysql -uroot -p;

(2)显示当前的数据库:MySQL对大小写不敏感。

show databases;

(3)创建数据库 

CREATE DATABASE [IF NOT EXISTS] db_name character_set_utf8mb4;

注意:if not exists是可选项,只有不存在了才创建。如果不加if not exists,创建一个重名的数据库就会显示错误。而character_set_utf8mb4是设置默认的编码集。

(4)查看数据库字符集

show variables like '%character%';

 (5)MySQL允许用户使用关键字作为数据库名称,但是要用反引号``将关键字引起来。

 (6)使用数据库:查看当前使用的是哪一个数据库,选择要使用的数据库之后才能对数据库进行操作。

use 数据库名;

(7)删除数据库:数据库的删除是非常危险的操作,drop和delete在MySQL中是删除的关键字,一定要谨慎操作❗❗❗

drop database [if exists] 数据库名;

(8) 查看警告信息

show warnings;

(9) SQL中的注释

-- 创建一个表
# 创建一个表
/*
 * 创建一个表
*/

🌈2、常用的数据类型

        在选择好要操作的数据库之后,我们就要对数据库中的表进行操作了。不过在这之前我们首先要学习一下常用的数据类型。

        (1)数值类型:涉及到金额等比较敏感的数据时,可以用decimal类型,也可以用bigint或者int表示。比较常用的是bigint,int,decimal。

        (2)字符串类型(比较常用的是Varchar)

 ❓问题:区分字节与字符

   在Varchar类型中,size表示的是字符的长度。字符和字节是不同的概念。

(1)对于英文,一个字节就是一个字符。(hello就是5个字节,5个字符)

(2)对于中文,字节的多少,和编码格式有关。如果是JBK编码,编码使用两个字节表示一个汉字;如果是UTF-8编码,则使用三个或者字节表示一个字符。


❓问题:区分文本格式和二进制格式的区别?

        如果用文本编辑器打开的文件,可以明文显示就是文本格式;如果打开后是乱码就是二进制格式。

        (3)日期类型:一般使用datetime。

🌈3、表的基本操作

(1)查看数据库中的表

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

use 数据库名;
show tables;

(2)创建表:field表示字段名,datatype表示数据类型。

CREATE TABLE 表名 (
字段名1 数据类型1,
字段名2 数据类型2,
字段名3 数据类型3
);

举个栗子🌰: 

 (3)查看表结构

desc 表名;

(4)删除表(谨慎操作)

drop table if exists 表名1,表名2;

🍅创建表的一个小练习:

有一个商店的数据,记录客户及购物情况,有以下三个表组成:
(1)商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)。
(2)客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证
card_id)。
(3)购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)。

以goods表为例:comment表示注释。

use java;//选择数据库

create table if not exists goods
(goods_id int comment '商品编号', 
goods_name varchar(32) comment '商品名称',
unitprice int comment '单价',
category varchar(32) comment '商品类别',
provider varchar(32) comment '供应商'
)

 

        注意:一般这种创建表或者是其他比较长的代码时,就不适合在控制台写了,很容易出错。我们推荐在图形化界面中写代码或者直接用sql脚本在控制台执行怎么操作呢?        


 

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

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

相关文章

基于Python的特征工程:数据预处理(一)

一、概述 特征工程是机器学习工作流程中不可或缺的一环,它将原始数据转化为模型可理解的形式。数据和特征的质量决定了机器学习的上限,而模型和算法则是逼近这个上限的手段。因此,特征工程的重要性不言而喻。其主要工作涉及特征的采集、预处…

干货 | 带你用Process完成中介效应检验

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 今天我们给大家介绍下平常常用的也很简单的操作,如何使用spss中process插件进行中介效应检验。 Process的功能很强大,它的下载也是免费开源的,在spss的…

springboot项目:瑞吉外卖 前后端 代码、思路 详细分析 part5

part1 part2 part3 part4 part5 本页 6 移动端短信发送和手机验证码登入 6.1 短信发送 6.2 手机验证码登入 6.1 短信发送 6.1.1整体分析 2. 3. 注册登入阿里云账户。找到短信服务,设置短信签名(上面图片的阿里云、菜鸟裹裹、天猫…)&…

体验 Dolly V2

体验 Dolly V2 1. 什么是 Dolly V22. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 部署 Dolly V26. 编写测试程序7. 运行测试程序 1. 什么是 Dolly V2 Databricks的dolly-v2-12b,是一个在 Databricks 机器学习平台上训练的指令跟随型大型语言模型,…

【2023/05/06】EDSAC

Hello!大家好,我是霜淮子,2023倒计时第1天。 Share 去成为你本该成为的人,任何时候都不会太晚。 (出处:乔治艾略特) Day1 EDSAC:存储程序式计算机的开山之作。 part1 EDSAC&…

redis(3)

redis客户端登陆: redis-cli -h host -p port -a password String类型的应用场景: 1)String通常用于保存单个字符串或者JSON格式的字符串数据 2)因为String类型通常是二进制安全的,因此你完全可以把一个图片内容当作字符串来进行存储 3)计数器,是常规的k…

java错题总结(31-33页)

假定Base b new Derived(); 调用执行_360笔试题_牛客网 ABDC 只要是被子类重写的方法,不被super调用都是调用子类方法 ------------------------------------------------------------------------------------------- --------…

【Linux】Linux安装Redis(图文解说详细版)

文章目录 前言第一步,下载安装包第二步,上传安装包到/opt下(老规矩了,安装包在opt下)第三步,解压安装包第四步,编译第五步,安装第六步,配置redis第七步,设置开…

Matplotlib 初使用

五一假期时候,我在自己的电脑上安装了 matplotlib 安装步骤请转至:matplotlib 安装介绍 现在,我终于可以在自己电脑上学习 matolotlib 数学绘图库了, 说终于两个字,是完全是在安装过程中确实历经了折磨,根…

基于AT89C51单片机的电子钟设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87759735?spm1001.2014.3001.5503 源码获取 主要内容: 设计一个电子钟,实现对时、分、秒的显示的控制,电路采用24小时计时方式。另一个功能是秒表功能…

mysql : name like “%name“; 索引一定失效吗?

场景如下: MySQL版本如下: 表结构如下:索引结构如下: 查询语句以及执行计划如下: 第一条查询语句: select name from em where name like ‘%b’; 可以发现使用了name 字段创建的索引 第二条查询语句&…

02-Java基础编程

Java基础编程 Java 基础语法Java 标识符变量变量的类型Java 基本数据类型基本数据类型转换 运算符常见运算符运算符的优先级 程序流程控制分支语句循环结构常用的循环结构循环的嵌套break 和 continue 关键字 数组一维数组多维数组的使用Arrays 工具类的使用数组中常见的异常 J…

AcWing——方格迷宫(有点不一样的迷宫问题)

4943. 方格迷宫 - AcWing题库 1、题目 给定一个 n 行 m 列的方格矩阵。 行从上到下依次编号为 1∼n,列从左到右依次编号为 1∼m。 第 i 行第 j 列的方格表示为 (i,j)。 矩阵中的方格要么是空地(用 . 表示),要么是陷阱&#xf…

前后端身份认证:session身份认证,JWT认证

文章目录 前后端身份认证1、概述2、不同开发模式下的身份认证3、关于HTTP协议的无状态性4、Cookie4.1 介绍4.2 cookie特点4.3 cookie分类4.4 Cookie在session身份认证中的作用4.5 Cookie不具有安全性 5、Session认证5.1 Session认证过程5.2 Session认证原理图5.3 Session认证的…

【Linux】多线程 --- 线程概念 控制 封装

从前种种,譬如昨日死。从后种种,往如今日生。 文章目录 一、线程概念1.重新理解用户级页表1.1 进程资源如何进行分配呢?(地址空间页表)1.2 虚拟地址如何转换到物理地址?(页目录页表项&#xff0…

11 KVM虚拟机配置-配置虚拟设备(存储)

11 KVM虚拟机配置-配置虚拟设备(存储) 文章目录 11 KVM虚拟机配置-配置虚拟设备(存储)11.1 存储设备概述11.2 存储设备元素介绍11.3 存储设备配置示例 11.1 存储设备概述 虚拟机XML配置文件使用devices元素配置虚拟设备,包括存储设备、网络设备、总线、鼠标等。 X…

【LeetCode】494. 目标和

494. 目标和 思路 首先,将这道题想成 0-1背包问题,我们最终要输出的结果是最多的方法数,因此 dp 数组需要记录具体的方法数。 状态定义 按照 0-1 背包问题的套路,我们将状态定义为 :dp[i][j] ,表示「前 …

YOLOv5测距+碰撞检测

YOLOv5测距碰撞检测 1. 相关配置2. 测距原理3. 标定和测距4. 碰撞检测4.1 相关代码4.2 主代码 5. 实验效果 相关链接 1. YOLOV5 单目测距(python) 2. YOLOV7 单目测距(python) 3. 具体实现效果已在Bilibili发布,点击…

string的介绍

string是c中表示字符串的字符串类&#xff0c;要使用需要包头文件&#xff1a;#include<string> 先了解一下string的一些信息 string看起来是一个类&#xff0c;但实际上是typedef的模板。 在cplusplus.com网站上&#xff0c;string的相关信息 模板的实例化结果有以下几个…

【unity小创意】相机的正反操作实现场景的二维跳跃

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…