(四)SQL

2023-11-02


        本篇介绍SQL的数据库定义语言DDL,主要有数据库的增删改用、表的增删改查,并且配套有MySQL实操练习。


01 数据库的增删查用

1.1 基本语法 

-- 查询数据库
SHOW DATABASES;  -- 查询所有数据库
SELECT DATABASE();  -- 查询当前使用的数据库(要先使用数据库,再查询)

-- 增加数据库
CREATE DATABASE database_name;
CREATE DATABASE [IF NOT EXISTS] database_name [DEFAULT CHERSET character_set][COLLATE sort_rule];  -- if not exists 不容易报错

-- 删除数据库
DROP DATABASE database_name;
DROP DATABASE [IF EXISTS] database_name;

-- 使用数据库
USE database_name;

1.2 MySQL实操

  • 全局搜索MySQL Workbench 8.0 CE,打开。

  • 新建一个连接MySQL Class,打开。

  • 在界面中进行操作。运行代码:选中要运行的代码,Ctrl+Shift+Enter即可(单行Crtl+Enter即可)
  1.  使用

  2. 查询

  3. 增加

  4. 删除


02 表的增删改查

2.1 基本语法  

2.1.1 表的查询 

-- 查询表(当前数据库的所有表)
show tables;

-- 查询表结构
desc table_name;

-- 查询表的建表语句
show create table table_name;

2.1.2 表的创建

create table [if not exists] 表名 (
    列名1 列1类型 [comment 列1注释]  -- comment声明
    , 列名2 列2类型 [comment 列2注释]
    , ...
) [comment 表注释];

2.1.3 表的数据类型

  • 数值类型
  • 字符串类型
  • 日期时间类型
SQL 数据类型

2.1.4 表的修改

-- 修改表名
ALTER TABLE 表名 RENAME TO 新表名;

-- 添加列
ALTER TABLE 表名 ADD 列名 类型 [COMMENT 注释][约束];

-- 修改列
ALTER TABLE 表名 MODIFY 列名 新类型;  -- 修改数据类型
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型 [COMMENT 注释][约束];  -- 修改字段名和字段类型

-- 删除列
ALTER TABLE 表名 DROP 列名;

2.1.5 表的删除

DROP TABLE [IF EXISTS] 表名;  -- 删除表
TRUNCATE TABLE 表名;  -- 删除表,再重新创建该表

 

2.2 MySQL实操

2.2.1 表的查询

use world;
show tables;
desc city;
show create table city;
show tables;

desc city;

show create table city;

2.2.2 表的创建

如:创建学生表student(MySQL)

学生表:student
表结构 备注
编号 纯数字
学号 字符串类型,长度不超过8
姓名 字符串类型,长度不超过10
性别 男/女,1个汉字
年龄 大于0的整数
身份证号 18位,身份证中有X
出生日期 年月日
班级 字符串类型,长度不超过5
create database if not exists test;
use test;
drop table if exists student;

-- 创建表
create table student (
	id int comment "编号"
    , s_num varchar(8) comment "学号"
    , s_name varchar(10) comment "姓名"
    , gender char(1) comment "性别"
    , age tinyint unsigned comment "年龄"
    , id_card char(18) comment "身份证号"
    , birth_date date comment "出生日期"
    , class varchar(5) comment "班级"
) comment "学生表";

desc student;  -- 查询表结构
show create table student;  -- 查询建表语句
desc student;

show create table student;

2.2.3 表的修改

-- 增加列
alter table student add eng_name varchar(10) comment "英文名";  
desc student;

-- 修改列
alter table student modify s_num varchar(12);  -- 将s_num列修改为最长不超过12的字符串类型 
alter table student change s_num s_number varchar(12) comment "学号";  -- 将s_num改为s_number,字符串类型,长度不超过8
desc student;

-- 删除列 
alter table student drop eng_name;

-- 修改表名 
alter table student rename to stu_tb;
show tables;
增加列-desc student;

修改列-desc student;

删除列-desc student;

修改表名-show tables;

2.2.4 表的删除

truncate table stu_tb;  -- 删除表,再建一个相同结构的表
show tables;
desc stu_tb;

drop table if exists stu_tb;  -- 删除表
show tables; 
truncate-删除表,再建一个相同结构的表

drop-删除表

不总结=白学


 THE END


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(四)SQL 的相关文章

随机推荐

  • softmax函数的定义及求导

    本文中 x0 x1 xm x 0 x 1 x m 代表一个向量 也就是一个 m m行1列的矩阵 在监督式的深度学习中 输入通常是一个向量 用xx表示 输出 y y则可以分为多种情况 标量 yy表示输入 x x属于某一类别的概率 向量 此时输
  • AutoDev 1.1.3 登场,个性化 AI 辅助:私有化大模型、自主设计 prompt、定义独特规则...

    在过去的半个月里 我们为开源辅助编程工具 AutoDev 添加了更强大的自定义能力 现在你可以 使用自己部署的开源大模型 自己配置 Intellij IDEA 中的行为 自定义开发过程中的规范 当然了 如果您自身拥有开发能力的话 建议您自己
  • 绕过身份检测,破解Android SU

    http www 61ic com Mobile Android 201207 43661 html 由于Android底层是Linux内核 故了解了Linux的权限管理后就可以知道ROOT的原理 具体可以访问 Android系统权限和ro
  • js基础-语句

    语句 表达式在JavaScript中是短语 而语句 statement 就是JavaScript整句或命令 JavaScript语句是以分号结束 默认情况下 JavaScript解释器依照语句的编写顺序依次执行 1 表达式语句 1 复合语句
  • linux服务器部署docker版nginx(nginx容器化)

    为了服务器安全 nginx端口不直接暴漏在外 现在服务器使用了docker版nginx 记录下使用步骤 docker安装就不再叙述 之前有写 分为2种适用于服务器能上网和不能上网的情况 这里写的一个sh文件和dockerfile文件 用于d
  • 最强大的布局——约束布局(ConstraintLayout)的一些技巧

    一 使用viewBinding 1 想开启那个模块的viewBinding就进入对应模块的build gradle 2 进入app的build gradle 开启viewbinding viewBinding enabled true 3
  • 基于HAL库stm32f1的DS18B20温度传感器

    由于做比赛 所以写了温度传感器 记录一下 一 介绍 DS18B20是常用的数字温度传感器 其输出的是数字信号 具有体积小 硬件开销低 抗干扰能力强 精度高的特点 1 DS18B20数字温度传感器接线方便 封装成后可应用于多种场合 如管道式
  • 让AI来告诉你什么叫幽灵堵车

    使用环境参考 CocosCreator v3 7 2 ChatGPT 正文 什么是幽灵堵车 堵车 大家都不陌生 堵车时我就思维发散 用 CocosCreator 模拟下堵车应该挺好玩 网上总说高速上最前面如果有个龟速的车 后面能堵车堵个两三
  • OpenCV仪表数据识别(二):数字区域自动定位

    下载和配置Opencv在网上和书上有很多的讲解 这里不再赘述 此处附上Opencv的下载链接 想要对图片中的数字信息进行识别首先要对图片进行预处理 排除干扰的因素 只留下有价值的信息 这里需要两张图 一张为有数据的图片 一张为仪表关闭时没有
  • 无线传感网课后习题(书本名称无线传感器网络基础 : 理论和实践 : Fundamentals of wireless sensor networks : theory and practice)二

    7 4 Describe a WSN application for each of the following categories time driven eventdriven and query driven 译 为以下每一种类型描
  • 系统安装部署系列教程(五):精简母盘和集成补丁

    所谓母盘就是我们平时说的官方原版镜像 在封装系统的过程中常常需要精简某些功能 有些功能在系统封装阶段是没办法彻底精简的 所以我们首先需要对官方镜像进行精简操作 以去除某些不需要的功能 减小镜像大小 精简母盘的工具有很多 Dism MSMG
  • Ovirt 基本介绍

    Ovirt 介绍 ovrit 介绍 部署架构 整体架构 虚拟化实现 CPU虚拟化 内存虚拟化 MMU virtualization 内存硬件辅助虚拟化 I O设备虚拟化 设备接口完全模拟 前端 后端模拟 直接划分 学习文档 在详细学习ovi
  • Math&System

    Math 概述 Math 包含执行基本数字运算的方法 调用方式 Math类中无构造方法 但内部的方法都是静态的 可以通过 类名 进行调用 常用方法 方法名 方法名 说明 public static int abs int a 返回参数的绝对
  • 【WORD】宏

    1 录制宏 2 选择快捷方式 2 1 按钮 2 2 键盘 输入的时候按CTRL ALT等辅助键 3 录制操作 改变字体颜色 改变字体大小 改变字体样式 4停止操作 5 访问宏 点击快速访问栏 快捷键输入
  • 循环中如果有某一次循环抛出异常了整个循环就停止的解决办法

    Transactional propagation Propagation REQUIRES NEW 转载于 https www cnblogs com handsomejunhong p 9318180 html
  • spring-boot-configuration-processor不生效问题

  • 电信业客户流失分析

    参考 https www kuxiao cn course pc course learning html cid C59a91e40e27ce170e7af714c 一 商业理解 QUESTION 1 预测哪些客户可能会流失 QUESTI
  • 精确时钟同步协议ptp/IEEE-1588v2协议-------(2)主从时钟之间的消息交互与时钟同步过程

    本文目录 1 主时钟和从时钟之间的消息交互流 2 延时delay和偏移offset的计算 2 1 延时delay的计算 2 2 偏移offset的计算 主时钟和从时钟之间 通过sync follow up delay request del
  • [黑盾杯]2020之Misc篇刷题记录(16)

    黑盾杯 2020之Misc篇刷题记录 16 黑盾杯 2020 encrypt 黑盾杯 2020 Blue 黑盾杯 2020 blind 黑盾杯 2020 Trees UTCTF 2020 Spectre UTCTF 2020 Observe
  • (四)SQL

    本篇介绍SQL的数据库定义语言DDL 主要有数据库的增删改用 表的增删改查 并且配套有MySQL实操练习 01 数据库的增删查用 1 1 基本语法 查询数据库 SHOW DATABASES 查询所有数据库 SELECT DATABASE 查