【SQL】DDL语句

在这里插入图片描述

文章目录

  • 1.SQL通用语法
  • 2.SQL的分类
  • 3.DDL
    • 3.1数据库操作
    • 3.2 表操作
      • 3.2.1 表操作--数据类型
      • 3.2.2 表操作--修改
      • 3.2.3 表操作--删除


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


1.SQL通用语法

1). SQL语句可以单行或多行书写,以分号结尾。
2). SQL语句可以使用空格/缩进来增强语句的可读性。
3). MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
4). 注释:
单行注释:-- 注释内容 或 # 注释内容
多行注释:/* 注释内容 */


2.SQL的分类

SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。
在这里插入图片描述


3.DDL

3.1数据库操作

1). 查询所有数据库

show databases;

在这里插入图片描述

2). 查询当前数据库

show database();

3). 创建数据库

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

举例:
创建一个itcast数据库, 使用数据库默认的字符集。

create database itcast;

在这里插入图片描述
这里需要注意:在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。
可以通过if not exists 参数来解决这个问题,

create database if not extists itcast;

数据库不存在, 则创建该数据库,如果存在,则不创建。

4). 删除数据库

drop database [if exists] 数据库名;

在这里插入图片描述
5). 切换数据库

use 数据库名;

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

use itcast;

3.2 表操作

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

show tables;

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

use sys;show tables;

在这里插入图片描述
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 表注释 ] ;

注意最后一个字段后面没有逗号

3.2.1 表操作–数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
1). 数值类型
在这里插入图片描述
2). 字符串类型
在这里插入图片描述
3). 日期时间类型
在这里插入图片描述
案例:
设计一张员工信息表,要求如下:

  1. 编号(纯数字)
  2. 员工工号 (字符串类型,长度不超过10位)
  3. 员工姓名(字符串类型,长度不超过10位)
  4. 性别(男/女,存储一个汉字)
  5. 年龄(正常人年龄,不可能存储负数)
  6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
  7. 入职时间(取值年月日即可)

对应的建表语句如下:

create table emp(id int comment '编号',workno varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',entrydate date comment '入职时间'
) comment '员工表';

我们利用desc指令查询表结构信息:

desc emp;

在这里插入图片描述

3.2.2 表操作–修改

1). 添加字段

alter table 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];

举例:
为emp表增加一个新的字段”昵称”为nickname,类型为varchar(20)

ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';

2). 修改数据类型

alter table 表名 modify 字段名 新数据类型(长度);

3). 修改字段名和字段类型

alter table change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];

4). 删除字段

alter table 表名 drop 字段名;

5). 修改表名

alter table 表名 rename to 新表名;

3.2.3 表操作–删除

1). 删除表

drop table [if exists] 表名;

2). 删除指定表,并重新创建表

truncate table 表名;

注意:删除表的时候,表中的全部数据也会被删除。


以上就是DML语句的介绍 ,关于其他SQL语法,可以参考DML语句,在我的MySQL专栏MySQL。

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

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

相关文章

Could not get JDBC Connection: wait millis 10000, active 500

Could not get JDBC Connection: nested exception is com,alibaba,druid.pool,GetConnectionTimeoutException: wait millis 10000, active 500 1、生产突然出现这样的问题,后经过各种分析查找 jmap -dump:formatb,filewar_l.hporf 10333 ‌jmap -dumpb命令用于生成…

【大模型开发】AI提示词框架:解锁ICIO、CRISPE、BROKE和RASCEF的强大潜力

作为一名经验丰富的程序员,您是否曾感到在与AI助手交互时难以获得理想的输出?本文将为从事AI开发或经常使用AI工具的技术人员介绍四个强大的AI提示词框架:ICIO、CRISPE、BROKE和RASCEF。这些框架能帮助您更有效地与AI模型沟通,提高工作效率。 1. ICIO框架:简洁而有力 IC…

vos3000外呼系统音质不好怎么解决

音质好坏主要取决于传输网络和经由设备的处理能力 如果 VOS 没有开启媒体转发的情况下,出现音质不好,那么排查问题时完全可以认为 VOS 是正常的,因为VOS没有参与语音流的处理,所以不涉及音质问题。可以尝试以下几个解决方案&…

OSPF的不规则区域

1.远离骨干非骨干区域 2.不连续骨干 解决方案 tunnel ---点到点GRE 在合法与非ABR间建立隧道,然后将其宣告于OSPF协议中; 缺点:1、周期和触发信息对中间穿越区域造成资源占用(当同一条路由来自不同区域,路由器会先…

nacos源码修改持久化到postgreSQL数据库

很多业务场景,业务功能必须用pg数据库,这时候注册中心如果用mysql的话,显得浪费资源,基于此,nacos源码修改持久化到postgreSQL数据库是一个必然需求,此处我们修改为只支持pg数据库,2.4版本的源码…

无感升级有三种常见的可行性方案:蓝绿部署、灰度发布、和滚动更新

A. 蓝绿部署 1. 前端 打包与部署: 构建前端: 使用构建工具(如 Webpack、Gulp)对前端项目进行打包。运行命令,例如: npm run build确保生成的文件有版本号或哈希,以防止缓存问题。上传静态文件: 将打包后的文件上传到绿色环境的路径(如 /var/www/html/v2)。示例: s…

Java知识巩固(一)

AOT有什么优点?为什么不全部使用AOT呢? JDK 9 引入了一种新的编译模式 AOT(Ahead of Time Compilation) 。和 JIT 不同的是,这种编译模式会在程序被执行前就将其编译成机器码,属于静态编译(C、 C,Rust&…

网络安全社区和论坛

目录 国内网络安全社区和论坛 国外网络安全社区和论坛 ​​​​​​​国内网络安全社区和论坛 FreeBuf 网址:FreeBuf网络安全行业门户简介:网络安全行业门户网站,提供最新的安全资讯、漏洞信息、安全工具及教程等。 先知社区 网址&…

Java基础:字符串详解

1 深入解读String类源码 1.1 String类的声明 public final class Stringimplements java.io.Serializable, Comparable<String>, CharSequence { }String类是final的&#xff0c;意味着它不能被子类继承&#xff1b;String 类实现了Serializable接口&#xff0c;意味着…

界星空科技漆包线行业称重系统

万界星空科技为漆包线行业提供的称重系统是其MES制造执行系统解决方案中的一个重要组成部分。以下是对该系统的详细介绍&#xff1a; 一、系统概述 万界星空科技漆包线行业称重系统&#xff0c;是集成在MES系统中的一个功能模块&#xff0c;专门用于漆包线生产过程中的重量检…

【科普】什么是架构和框架?两者之间有什么区别?

架构 (Architecture) 定义&#xff1a; 架构是系统或项目的高层设计和结构&#xff0c;描述了组件之间的关系和交互方式。它通常涉及到整体的设计理念、原则和决策。 特点&#xff1a; 包括系统的整体布局、模块划分、数据流以及各个部分如何相互作用。通常是为了满足特定需求…

LabVIEW惯性导航系统仿真平台

LabVIEW开发捷联惯性导航系统仿真平台&#xff0c;采用模块化设计&#xff0c;利用LabVIEW的图形化编程特性&#xff0c;提高了系统仿真的效率和精度&#xff0c;同时具备良好的可扩展性和用户交互性。 项目背景 当前&#xff0c;惯性导航系统&#xff08;INS&#xff09;的研…

解决 GPTQ 模型导入后推理生成 Tokens 速度很慢的问题(从源码重新安装 Auto-GPTQ)

这里解决的是使用 Auto-GPTQ 或者 Transformers 导入 GPTQ 模型后推理速度很慢的问题。 值得注意的是&#xff0c;这个问题很有可能是因为安装不正确&#xff0c;所以 GPTQ 无法正确使用 GPU 进行推理&#xff0c;也就是说无法进行加速&#xff0c;即便 print(model.device) 显…

【深度学习基础模型】液态状态机(Liquid State Machines, LSM)详细理解并附实现代码。

【深度学习基础模型】液态状态机&#xff08;Liquid State Machines, LSM&#xff09;详细理解并附实现代码。 【深度学习基础模型】液态状态机&#xff08;Liquid State Machines, LSM&#xff09;详细理解并附实现代码。 文章目录 【深度学习基础模型】液态状态机&#xff0…

【浏览器】HTTP 状态码

HTTP 状态码 HTTP 状态码用于表示服务器对请求的响应状态&#xff0c;分为 5 类&#xff0c;每一类的状态码代表不同的响应类型&#xff1a; 1. 1xx 信息性响应 表示请求已接收&#xff0c;服务器继续处理。 100 Continue&#xff1a;客户端应继续请求操作&#xff0c;服务…

嵌入式硬件设计知识详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

146. LRU 缓存【 力扣(LeetCode) 】

零、原题链接 146. LRU 缓存 一、题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中&#xff…

5款人声分离免费软件分享,从入门到精通,伴奏提取分分钟拿捏!

人声分离通常是音乐制作、混音和卡拉OK中常用的重要技术之一。它的核心是将乐器伴奏从原始音轨中分离出来&#xff0c;使得用户可以单独处理或重混音频&#xff0c;创造出清晰干净的伴奏轨道。若缺乏强大的音频剪辑软件或专业人声分离工具&#xff0c;这一过程往往会比较困难。…

python3的语法

知识简介 基础语法就像比赛规则&#xff0c;比如比赛跑步&#xff0c;咱们不能跑到别人的跑道去吧&#xff0c;比赛打拳&#xff0c;先说好不能踢裆。 正文 一、python3的基础语法 1、编码 python的源码文件.py一般是utf8编码的&#xff0c;有时候咱们在执行源码文件的时候报…

单片机原理及其应用:新手快速入门

单片机&#xff08;Microcontroller&#xff0c;简称 MCU&#xff09;是一种广泛应用于嵌入式系统中的微型计算机。对于初学者来说&#xff0c;了解单片机的基本原理及其在日常生活中的应用是入门嵌入式开发的第一步。本篇博客将从单片机的基本概念开始&#xff0c;带领大家逐步…