数据库学习笔记2024/2/5

news2025/1/16 17:06:56

2. SQL

全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准

2.1 SQL通用语法

在学习具体的SQL语句之前,先来了解一下SQL语言的通用语法。

1). SQL语句可以单行或多行书写,以分号结尾。

2). SQL语句可以使用空格/缩进来增强语句的可读性。

3). MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

4). 注释:

单行注释:-- 注释内容 或 # 注释内容(MySQL特有)

多行注释:/* 注释内容 */

2.2 SQL分类

SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。

分 类 全称 说明

DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表, 字段,索引)

DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改

DQL Data Query Language 数据查询语言,用来查询数据库中表的记录

DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的 访问权限

2.3 DDL

Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。

2.3.1 数据库操作

1). 查询所有数据库

 show databases ;

2). 查询当前数据库

 select database() ;

3). 创建数据库

 create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序 规则 ] ;

//写[if...]时,[ ]要省略, 写if not exists表示已经有这个数据库了就不再执行 ,没有就执行

//可以按键盘键上下键来选择执行

//创建是创建,查看是查看

//utf8 -> 3个字节, 推荐 utf8mb4 -> 4个字节

案例:

A. 创建一个itcast数据库, 使用数据库默认的字符集。

create database itcast;

在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。

可以通过if not exists 参数来解决这个问题,数据库不存在, 则创建该数据库,如果存在,则不 创建。

create database if not extists itcast;

B. 创建一个itheima数据库,并且指定字符集

create database itheima default charset utf8mb4;

4). 删除数据库

drop database [ if exists ] 数据库名 ;

如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists ,如果数据库存在,再 执行删除,否则不执行删除。

5). 使用与切换数据库

use 数据库名 ;

我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。 比如,切换到itcast数据,执行如下SQL:

use itcast;

2.3.2 表操作

2.3.2.1 表操作-查询创建

1). 查询当前数据库所有表

show tables;

比如,我们可以切换到sys这个系统数据库,并查看系统数据库中的所有表结构。

2). 查看指定表结构

desc 表名 ;

通过这条指令,我们可以查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信息。

3). 查询指定表的建表语句

show create table 表名 ;

通过这条指令,主要是用来查看建表语句的,而有部分参数我们在创建表的时候,并未指定也会查询 到,因为这部分是数据库的默认值,如:存储引擎、字符集等。

4). 创建表结构

CREATE TABLE 表名(

字段1 字段1类型 [ COMMENT 字段1注释 ],

字段2 字段2类型 [COMMENT 字段2注释 ],

字段3 字段3类型 [COMMENT 字段3注释 ],

......

字段n 字段n类型 [COMMENT 字段n注释 ]

) [ COMMENT 表注释 ] ;

注意: [...] 内为可选参数,最后一个字段后面没有逗号

比如,我们创建一张表 tb_user ,对应的结构如下,那么建表语句为:

create table tb_user(

id int comment '编号',

name varchar(50) comment '姓名',

age int comment '年龄',

gender varchar(1) comment '性别'

) comment '用户表';

未完待续...

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

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

相关文章

查大数据检测到风险等级太高是怎么回事?

随着金融风控越来越多元化,大数据作为新兴的技术被运用到贷前风控中去了,不少人也了解过自己的大数据,但是由于相关知识不足,看不懂报告,在常见的问题中,大数据检测到风险等级太高是怎么回事呢?小易大数据…

支持534种语言,开源大语言模型MaLA-500

无论是开源的LLaMA 2还是闭源的GPT系列模型,功能虽然很强大,但对语言的支持和扩展比较差,例如,二者都是以英语为主的大模型。 为了提升大模型语言的多元化,慕尼黑大学、赫尔辛基大学等研究人员联合开源了,…

第十四篇【传奇开心果系列】Python的OpenCV库技术点案例示例:图像特征提取与描述

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例系列短博文目录前言一、OpenCV图像特征提取与描述介绍二、OpenCV图像特征提取与描述初步示例代码三、扩展思路介绍四、特征点筛选和匹配优化示例代码五、多尺度特征提取示例代码六、非局部特征描述子示例代码…

【数据结构与算法】之排序系列-20240205

这里写目录标题 一、1346. 检查整数及其两倍数是否存在二、1365. 有多少小于当前数字的数字三、1460. 通过翻转子数组使两个数组相等四、1491. 去掉最低工资和最高工资后的工资平均值五、1502. 判断能否形成等差数列 一、1346. 检查整数及其两倍数是否存在 简单 给你一个整数数…

工业笔记本丨行业三防笔记本丨亿道加固笔记本定制丨极端温度优势

工业笔记本是专为在恶劣环境条件下工作而设计的高度耐用的计算机设备。与传统消费者级笔记本电脑相比,工业笔记本在极端温度下展现出了许多优势。本文将探讨工业笔记本在极端温度环境中的表现,并介绍其优势。 耐高温性能: 工业笔记本具有更高的耐高温性…

CodeMeter强化了ETM WinCC 开放架构平台的许可与安全保护

在面对日益复杂的网络安全威胁时,ETM professional control采取了前瞻性的措施,选择了业界领先的威步CodeMeter技术,以保护其标志性的WinCC开放架构平台。这一选择不仅体现了ETM对安全的高度重视,也标志着其在保障关键基础设施运营…

见龙在田,预防性保护措施让文物传承千年

一、“见龙在田——山西出土龙文物展” “见龙在田——山西出土龙文物展”以十二生肖龙为线索,在山西省考古研究院(山西考古博物馆)揭幕,深入展示了中国优秀传统文化的悠久历史。展览汇聚了130多件珍贵历史文物。从新石器时代到汉…

2.0 Zookeeper 安装配置

Linux 安装 zookeeper 下载地址为: Apache ZooKeeper。 选择一稳定版本,本教程使用的 release 版本为3.4.14,下载并安装。 打开网址 https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz,看到如下界…

Linux中有名管道和无名管道

无名管道基础 进程间通信介绍 常用通信方式 无名管道(pipe) 有名管道 (fifo) 信号(signal) 共享内存(mmap) 套接字(socket)过时的IPC通信方式 System V IPC 共享内存(sh…

机器学习---概率图模型(隐马尔可夫模型、马尔可夫随机场、条件随机场)

1. 隐马尔可夫模型 机器学习最重要的任务是根据已观察到的证据(例如训练样本)对感兴趣的未知变量(例如类别标 记)进行估计和推测。概率模型(probabilistic model)提供了一种描述框架,将描述任…

【Qt Design】界面介绍

文章目录 前言Widget Box(工具箱)对象查看器Qt Design属性编译器sizePolicy内容 信号/槽编辑器资源浏览器ui文件 前言 Widget Box(工具箱) 提供很多控件 对象查看器 对象查看区域,可以查看主窗口放置对象的列表 …

HTTP相关问题

目录 1.从输入URL到页面展示到底发生了什么? 2.HTTP状态码有哪些? 2.1 2XX(成功状态码) 2.2 3XX(重定向状态码) 2.3 4XX(客户端错误状态码) 2.4 5XX(服务端错误状态码) 3.HTTP 请求头中常见的字段有哪些? 4.HTTP和HTTPS有什么区别&…

CSS:水平垂直居中

水平垂直居中效果如下&#xff1a; HTML: <div class"parent"><div class"child"></div> </div>公共的 CSS&#xff1a; .parent {width: 300px;height: 300px;background-color:#d0e4fe; }.child {width: 100px;height: 100px…

第二篇:MySQL安装与配置(基于小皮面板(phpstudy))

在第一篇中介绍了数据库的相关概念&#xff0c;了解到SQL是用来操作数据库管理系统的语言&#xff0c;因此要学习数据库技术&#xff0c;数据库管理系统的配备是必不可少的&#xff01; 并且出于流行性与实惠性的双考量而选择MySQL这款数据库管理系统软件 一&#xff0c;工具推…

centos安装inpanel

前置条件 安装python yum -y install python 安装 cd /usr/local git clone https://gitee.com/WangZhe168_admin/inpanel.git cd inpanel python install.py 安装过程需要设置账户 密码 端口号 我设置的是admin:admin 10050 使用 打开浏览器,输入 http://192.168.168.…

mysql 多数据源

依赖 <dependencies><!--mysql连接--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--多数据源--><dependency><g…

Node.js+Express+Mysql服务添加环境变量

1、使用dotenv插件 1&#xff09;安装插件&#xff1a;npm install dotenv-cli --save-dev 2&#xff09;在项目根目录下添加对应的 .env 配置文件&#xff1b; // .env配置文件内容 MODEdevelopment, BASE_URLhttp://127.0.0.1:80813) 在启动命令中设置对应的加载文件&#…

从小白到入门webrtc音视频通话

0. 写在前面 先会骑车&#xff0c;再研究为什么这么骑&#xff0c;才是我认为学习技术的思路&#xff0c;底部付了demo例子&#xff0c;根据例子上面的介绍即可运行。 1. 音视频通话要用到的技术简介 websocket 介绍&#xff1a;1. 服务器可以向浏览器推送信息&#xff1b;2…

多线程 --- [ 线程概念,线程控制 ]

目录 1. 补充知识 1.1. 什么叫做进程呢&#xff1f; 1.2. 堆区的知识补充 1.3. 虚拟地址到物理地址的转化过程 2. 线程概念 3. 见见代码 3.1. pthread_create 4. Linux进程 && 线程 4.1. 线程如何看待进程内部的资源 4.2. 进程 vs 线程 4.3. 线程的优点 4.…

vue+vite项目,无法使用绝对地址动态导入

博主的桌面工具软件已经正式开发&#xff0c;获取方式&#xff1a; 可以关注我的小程序【中二少年工具箱】获取。&#xff08;若小程序更新有延迟&#xff0c;可先收藏小程序&#xff09; 通过下载链接 百度网盘: 链接&#xff1a;https://pan.baidu.com/s/15zDnSoEzJGSZLjpD…