当前位置: 首页 > news >正文

【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 表名;

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

http://www.lryc.cn/news/451742.html

相关文章:

  • 【分页】Spring Boot 列表分页 + javaScript前台展示
  • 「安装」 Windows下安装CUDA和Pytorch
  • c语言基础作业
  • uniapp view增加删除线
  • [Day 83] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • Java ReentrantLock
  • 【Linux系统编程】第二十六弹---彻底掌握文件I/O:C/C++文件接口与Linux系统调用实践
  • 数据分析-29-基于pandas的窗口操作和对JSON格式数据的处理
  • Ubuntu-WSL2一键设置代理操作
  • ubuntu命令行连接wifi
  • 日常工作第10天:
  • CNN+Transformer解说
  • jmeter中token测试
  • 基于解压缩模块的JPEG同步重压缩检测论文学习
  • 音视频入门基础:FLV专题(7)——Tag header简介
  • 【Linux 报错】“make: ‘xxxx‘ is up to date.” 解决办法
  • 【FPGA开发】Xilinx FPGA差分输入时钟的使用方法
  • 面试扩展知识点
  • 【经验分享】MyCAT 中间件
  • Kotlin:1.8.0 的新特性
  • 深度学习之开发环境(CUDA、Conda、Pytorch)准备(4)
  • 10月2日笔记(内网资源探测篇)
  • SpringCloud-基于Docker和Docker-Compose的项目部署
  • Linux下的基本指令/命令(一)
  • 从零开始Ubuntu24.04上Docker构建自动化部署(四)Docker安装gitlab
  • No module named ‘_ssl‘
  • Linux —— Socket编程(三)
  • 5G N2 N3 N6 NB口
  • 【数据结构】堆(Heap)详解
  • 《Linux从小白到高手》理论篇(四):Linux用户和组相关的命令