关于数据库和数据表的基础SQL

news2024/12/23 21:20:59

目录

一. 数据库的基础SQL

1. 创建数据库

2. 查看当前有哪些数据库

3. 选中数据库

4. 删除数据库

5. 小结

二. 数据表的基础SQL

1. 创建数据表

2. 查看当前数据库中有哪些表

3. 查看指定表的详细情况(查看表的结构)

4. 删除表

5. 小结 


一. 数据库的基础SQL

1. 创建数据库

MySQL中,创建数据库的基本语法格式如下:

create database 数据库名;

例如:

注意:

(1) 这里的 0.00sec (0.00 second) 是表示操作时间小于10ms, 而不是没有时间. (这里再给大家补充一下计算机中常用的时间单位: 秒s, 毫秒ms, 微秒us, 纳秒ns, 皮秒ps, 他们之间的换算关系是1000)

(2) 在同一个MySQL服务器上,  数据库的名字要保持唯一.

(3) 在给数据库命名时, 我们一般不建议数据库名和关键字相同, 但是如果真的需要, 我们也可以搬到: 给数据库名加上单引号即可完成这样的操作. 例如: order是关键字, 但是我们也可以给某数据库命名为order.

如上图, order不加双引号,报错. order加上双引号, 创建数据库成功.

(4) 指定字符集: MySQL57 默认的字符集是表示拉丁文的, 所以我们在使用MySQL57创建数据库的时候,建议指定好字符集.(可以表示中文的字符集我们一般使用utf8).

指定字符集的SQL语句我们一般用 character setcharset (缩写).

 (5) 指定条件: 在创建数据库的时候, 我们还可以指定某些条件. 例如: 创建数据库db4, 如果数据库db4不存在, 则创建数据库db4; 如果存在, 则什么都不做.

 (6) 通过show warnings 可以查看警告具体内容.

2. 查看当前有哪些数据库

 MySQL中,查看当前数据库的基本语法格式如下:

show databases;

注意:

(1) 每个SQL语句都是以 ";" 结尾的.

(2) show 和 databases之间至少加一个空格.

(3) SQL不区分大小写, 想用哪个就用哪个.

(4) 命令行中, 鼠标选中文本后: 按下enter是复制, 按下鼠标右键是粘贴.

3. 选中数据库

首先我们要明白数据库组织数据的规则: 一个数据库服务器上, 有很多很多数据库, 每个数据库又有很多数据表,每个数据表包含若干行和列.

因此, 我们要操作某个数据表, 就需要先选中这个表所在的数据库, 然后再进行操作.

 MySQL中,选中数据库的基本语法格式如下:

use 数据库名;

4. 删除数据库

 MySQL中,删除数据库的基本语法格式如下:

drop database 数据库名;

注意: 删除数据库是一个非常危险的操作, 因为一旦将数据库删除,就无法恢复.

5. 小结

数据库涉及到的4个核心SQL:

(1) 创建数据库: create database 数据库名;

(2) 查看当前数据库: show databases;

(3) 选中数据库: use 数据库名;

(4) 删除数据库: drop database 数据库名;

补充: 注释的表示方式:

(1) comment '注释内容' : 只能在建表语句中使用, 用来说明每个列是表示什么的.(有很大的局限性)

(2) -- 注释内容, 或 # 注释内容 : 在哪都能使用. (更加常用)

二. 数据表的基础SQL

1. 创建数据表

 MySQL中,创建数据表的基本语法格式如下:

create table 表名(列名 类型 ,  列名 类型 ......)

例如:

注意:

(1) 在关系型数据库中, 每个表有哪些列, 每个列叫什么名字是什么类型,都是提前确定好的.(后续往表里存储的数据,都要严格遵循这个规则).

(2) 指定列名和类型的时候: 列名在前, 类型在后. (这和其他一些语言如Java,C++有很大出入, 需要分清楚.)

2. 查看当前数据库中有哪些表

 MySQL中,查看数据表的基本语法格式如下:

show tables;

3. 查看指定表的详细情况(查看表的结构)

查看表的结构(有那些列, 每个列是什么情况), 无法查看到表中的具体内容.

 MySQL中,查看数据表结构的基本语法格式如下:

desc 表名;

注意, 这里的 desc 是describe的缩写.

 

这里我们来分析一下该表的信息:

第一列: type表示类型; int(11)中的11是位宽, 表示该数据类型在控制台上显示的时候, 最多显示11个字符这么宽(但在硬盘上存储时仍然是4个字节.  那么11是怎么来的呢? 我们知道int的表示范围是-21亿到21亿, -21 0000 0000 位宽就是11个字符 ) .

第二列: Null这一列表示"是否允许为空". 两个yes表示这两列所存放的数据都允许为空(可以不填).

第三列: key表示键(有主键和外键)(后续会解释), 这里什么都不写表示没有键.

第四列: default表示本列默认值是什么.(在这里两列的默认值都是null).

第五列: extra:它提供了关于表的一些额外信息。这些信息可能包括关于表的一些特殊特性,比如是否是临时表、是否使用了压缩、是否包含了生成列等.

4. 删除表

 MySQL中,删除表的基本语法格式如下:

drop table 表名;

例如, 我们把表tb2删掉.

注意: 删除表操作也是极其危险的操作, 谨慎使用. 

5. 小结 

数据表涉及到的4个核心SQL:

(1) 创建表: create table 表名(列名 类型, 列名 类型);

(2) 查看当前数据库的表: show tables;

(3) 查看表结构: desc 表名;

(4) 删除表: drop table 表名;

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

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

相关文章

YOLOv10 | 手把手教你利用yolov10训练自己数据集(含环境搭建 + 参数解析 + 数据集查找 + 模型训练、推理、导出)

一、前言 本文内含YOLOv10网络结构图 各个创新模块手撕结构图 训练教程 推理教程 参数解析 环境搭建 数据集获取等一些有关YOLOv10的内容! 目录 一、 前言 二、整体网络结构图 三、空间-通道分离下采样 3.1 SCDown介绍 3.2 C2fUIB介绍 3.3 PSA介绍 …

【QT八股文】系列之篇章3 | QT的多线程以及QThread与QObject

【QT八股文】系列之篇章3 | QT的多线程 前言4. 多线程为什么需要使用线程池线程池的基础知识python中创建线程池的方法使用threading库队列Queue来实现线程池使用threadpool模块,这是个python的第三方模块,支持python2和python3 QThread的定义QT多线程知…

【kubernetes】探索k8s集群中金丝雀发布后续 + 声明式资源管理yaml

目录 一、K8S常见的发布方式 1.1蓝绿发布 1.2灰度发布(金丝雀发布) 1.3滚动发布 二、金丝雀发布 三、声明式管理方法 3.1YAML 语法格式 3.1.1查看 api 资源版本标签 3.1.2查看资源简写 3.2YAML文件详解 3.2.1Deployment.yaml 3.2.2Pod.yaml …

数据结构(五)

数据结构(五) 常见的排序算法内部排序交换插入选择归并基数 外部排序基于归并的 常见的排序算法 内部排序 交换 冒泡:每一次运行总会将最小的或者最大的放到前面,如果需要交换,一直在交换 快速排序*:经过…

《C++ Primer Plus》第十一章复习题和编程练习

这里写目录标题 一、复习题二、编程练习 一、复习题 1. 使用成员函数为Stonewt类重载乘法运算符,该运算符将数据成员与double类型的值相乘。注意,当用英石和磅表示时,需要进位。也就是说,将10英石8磅乘以2等于21英石2磅。 答&am…

Python语言基础学习(下)

目录 一、顺序语句 二、条件语句 (1) if (2) if - else (3) if - elif - else 缩进和代码块 空语句 pass 三、循环语句 while 循环 for 循环 continue break 四、函数 创建函数 调用函数 函数返回 函数变量 函数递归 关键字参数 五、列表和元组 创建列表 …

创新实训2024.05.25日志:Web应用技术选型

我们的web应用使用python web的fastapi框架,通过uvicorn开启web服务。 1. refs 官网文档:FastAPI (tiangolo.com) github:https://github.com/tiangolo/fastapi 2. 环境配置 python:3.11 uvicorn:0.29.0 pip install "uvicorn[stan…

【启程Golang之旅】基本变量与类型讲解

欢迎来到Golang的世界!在当今快节奏的软件开发领域,选择一种高效、简洁的编程语言至关重要。而在这方面,Golang(又称Go)无疑是一个备受瞩目的选择。在本文中,带领您探索Golang的世界,一步步地了…

嵌入式全栈开发学习笔记---C语言笔试复习大全25(实现学生管理系统)

目录 实现学生管理系统 第一步:结构体声明 第二步:重命名结构体 第三步:限定可以存储的最大学生数目 第四步:定义结构体指针数组和定义一个整型变量存放当前的人数 第五步:设计欢迎界面 第六步:设计…

【设计模式】JAVA Design Patterns——Command(事务模式)

🔍目的 将请求封装为对象,从而使你可以将具有不同请求的客户端参数化,队列或记录请求,并且支持可撤销操作。 🔍解释 真实世界例子 有一个巫师在地精上施放咒语。咒语在地精上一一执行。第一个咒语使地精缩小&#xff0…

从关键新闻和最新技术看AI行业发展(2024.5.6-5.19第二十三期) |【WeThinkIn老实人报】

写在前面 【WeThinkIn老实人报】旨在整理&挖掘AI行业的关键新闻和最新技术,同时Rocky会对这些关键信息进行解读,力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议,一起交流学习💪 欢迎大家关注Rocky的公众号&…

C++之std::is_trivially_copyable(平凡可复制类型检测)

目录 1.C基础回顾 1.1.平凡类型 1.2.平凡可复制类型 1.3.标准布局类型 2.std::is_trivially_copyable 2.1.定义 2.2.使用 2.3.总结 1.C基础回顾 在C11中,平凡类型(Trivial Type)、平凡可复制类型(TrivialCopyable&#x…

深入理解与防御跨站脚本攻击(XSS):从搭建实验环境到实战演练的全面教程

跨站脚本攻击(XSS)是一种常见的网络攻击手段,它允许攻击者在受害者的浏览器中执行恶意脚本。以下是一个XSS攻击的实操教程,包括搭建实验环境、编写测试程序代码、挖掘和攻击XSS漏洞的步骤。 搭建实验环境 1. 安装DVWA&#xff…

8.什么是HOOK

程序编译的本质是,首先计算机它只能看得懂机器码也就是只能看得懂数字,机器码学起来很费劲然后就创造了编译器这个东西,编译器它懂机器语言所以它可以跟机器沟通,而我们人可以跟编译器沟通,人跟编译器的语言就是各种各…

GBDT、XGBoost、LightGBM算法详解

文章目录 一、GBDT (Gradient Boosting Decision Tree) 梯度提升决策树1.1 回归树1.2 梯度提升树1.3 Shrinkage1.4 调参1.5 GBDT的适用范围1.6 优缺点 二、XGBoost (eXtreme Gradient Boosting)2.1 损失函数2.2 正则项2.3 打分函数计算2.4 分裂节点2.5 算法过程2.6 参数详解2.7…

不拍视频,不直播怎么在视频号卖货赚钱?开一个它就好了!

大家好,我是电商糖果 视频号这两年看着抖音卖货的热度越来越高,也想挤进电商圈。 于是它模仿抖音推出了自己的电商平台——视频号小店。 只要商家入驻视频号小店,就可以在视频号售卖商品。 具体怎么操作呢,需要拍视频&#xf…

leedcode【142】. 环形链表 II——Java解法

Problem: 142. 环形链表 II 思路解题方法复杂度Code性能 思路 1.用快慢指针找到相遇的点(快指针一次走一步,慢指针一次走两步) 2.一个指针从head开始,一个指针从相遇点开始,一次一步,相遇处即为环入口 解题…

Vmware 17安装 CentOS9

前言 1、提前下载好需要的CentOS9镜像,下载地址,这里下载的是x86_64 2、提前安装好vmware 17,下载地址 ,需要登录才能下载 安装 1、创建新的虚拟机 2、在弹出的界面中选择对应的类型,我这里选择自定义,点…

P459 包装类Wrapper

包装类的分类 1)针对八种基本数据类型相应的引用类型——包装类。 2)有了类的特点,就可以调用类中的方法。 Boolean包装类 Character包装类 其余六种Number类型的包装类 包装类和基本数据类型的相互转换 public class Integer01 {publi…

【大数据面试题】32 Flink 怎么重复读 Kafka?

一步一个脚印,一天一道面试题 首先,为什么要读过的 Kafka 数据重写读一次呢?什么场景下要怎么做呢? 答:当任务失败,从检查点Checkpoint 开始重启时,检查点的数据是之前的了,就需要…