SQL语句详解二-DDL(数据定义语言)

文章目录

    • 操作数据库
      • 创建:Create
      • 查询:Retrieve
      • 修改:Update
      • 删除:Delete
      • 使用数据库
    • 操作表
      • 常见的几种数据类型
      • 创建:Create
        • 复制表
      • 查询:Retrieve
      • 修改:Update
      • 删除:Delete

操作数据库

创建:Create

命令作用
create database 数据库名称;创建数据库
create database if not exists 数据库名称;判断此名字数据库不存在,再创建数据库
create database 数据库名称 character set 字符集名创建数据库,并指定字符集


查询:Retrieve

命令作用
show databases;查询所有数据库名称
show create database 数据库名称;查询数据库创建语句


修改:Update

命令作用
alter database 数据库名称 charater set 字符集名称;修改数据库的字符集

注意:先执行 修改语句,再执行,查看语句,发现已经数据库字符集已经被修改


删除:Delete

命令作用
drop database 数据库名称;删除数据库
drop database if exists 数据库名称;判断数据库存在,再删除


使用数据库

命令作用
select database();查询当前正在使用的数据库名称
use 数据库名称;使用数据库

操作表

常见的几种数据类型

数据类型注意
int整数类型
double小数类型float(5,2)
date日期(年月日)yyyy-MM-dd
datetime日期(年月日时分秒)yyyy-MM-dd HH:mm:ss
varchar字符串
timestamp时间戳类型(年月日时分秒)如果将来不给这个字段赋值或赋值为null,则默认使用当前系统时间,来自动赋值
  • MySQL5.6之后,时间戳要这样写,才能生效

    格式:列名 数据类型 default current_timestamp
    
    current_timestamp		// 当向数据表执行 插入操作时,则无论这个字段有没有值都插入当前系统时间
    on update current_timestamp  		 // 在后续数据表中数据发生更新操作将自动更新执行时间
    

创建:Create

  • 创建表格语法

    CREATE TABLE 表名(
    	列名1 数据类型1,
        列名2 数据类型2,
        列名3 数据类型3...
        列名n 数据类型n						-- 注意:最后一行,不需要逗号
    );										-- 不要忘了 ; 
    
  • 代码示例

    CREATE TABLE student(
    	sid INT,	  		-- 学生编号
    	sname VARCHAR(20),	-- 姓名
    	score FLOAT(5,2)  	-- 成绩,小数点保留2位
    );
    
复制表
  • 复制表格语法

    CREATE TABLE 表名 LIKE 被复制的表名; 		-- 注意:只复制表结构,但是表中数据并不复制
    
  • 代码示例

    CREATE TABLE s LIKE student;
    

查询:Retrieve

  • 查询命令

    命令作用
    show tables;查询某个数据库中所有表的名称
    desc 表名;查询表结构
  • 代码示例

    SHOW TABLES;			-- 显示当前数据库所有的表格名称
    
    DESC student;			-- 显示 student 表的结构
    

修改:Update

  • 修改命令

    命令作用
    alter table 旧的表名 rename to 新的表名;修改表名
    alter table 表名 character set 字符集名称;修改表的字符集
    alter table 表名 add 新列名 新数据类型;表中添加新的一列
    alter table 表名 change 旧列名 新列名 新数据类型;修改列名和数据类型
    alter table 表名 modify 旧列名 新数据类型;修改列的数据类型
    alter table 表名 drop 列名;删除列
  • 代码示例

    ALTER TABLE s RENAME TO stu;					-- 将表名 s 修改成 stu
    
    ALTER TABLE stu CHARACTER SET gbk;				-- 修改表的字符集为 gbk
    
    ALTER TABLE stu ADD address VARCHAR(100);		-- 添加新的一列 地址 字符数据类型
    
    ALTER TABLE stu CHANGE address ads VARCHAR(80); -- 将address列名修改成ads,数据类型也修改
    
    ALTER TABLE stu MODIFY sid VARCHAR(11);			-- 更改 sid 列的数据类型
    
    ALTER TABLE stu DROP ads;						-- 删除 ads 列 
    

    大家可一步一步执行,去左侧表中查看下变化。


删除:Delete

  • 删除命令

    命令作用
    drop table 表名;删除表
    drop table if exists 表名;判断表存在,再删除
  • 示例代码

    DROP TABLE stu;				-- 删除 stu 表
    
    DROP TABLE IF EXISTS stu;	-- 判断 stu 表存在,再删除
    

    可对比着删除数据库来学习!

大家接下来可阅读这篇文章:SQL语句详解三-DML(数据操作语言)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】Linux系统编程——ls命令

【Linux】Linux 系统编程——ls 命令 1.命令概述 ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写,正如 list 的意思,ls 命令用于列出文件系统中的文件和目录。使用此命令,用户可以查看目录中的…

封装数据访问通用类DbHelper

为什么要封装通用类? 数据交互:增上改查 相同的事情:连接 T-SQL命令,Command 执行命令,选择执行方式 得到相应结果 关闭连接 将一些从重复的逻辑进行封装,达到通用的目的 提高复用率…

高防ip是什么,防护效果好吗

DDoS攻击是互联网最常见的网络攻击方式之一,通过大量虚假流量对目标服务器进行攻击,堵塞网络耗尽服务器性能,导致服务器崩溃,真正的用户无法访问。以前企业常用的防御手段就是高防服务器,也就是硬防,但由于…

C++采集亚马逊amazon产品数据教程

最近亚马逊电商非常火爆,今天我将用C语言写一个亚马逊商品数据的爬虫程序,只要是用来收集一些产品相关信息。例如产品自身特性以及产品所对应的销量,为了后期布局亚马逊做一些参考,提供数据支持,同时另外我也会用C语言…

鸿蒙Harmony--LocalStorage--页面级UI状态存储详解

走的太急疼的是脚,逼的太紧累的是心,很多时候,慢一点也没关系,多给自己一些耐心和等待,保持热爱,当下即是未来,生活自有安排! 目录 一,定义 二,LocalStorageProp定义 三…

Docker 的工作原理及安装步骤【云原生】

文章目录 1. Docker 的工作原理2. Docker 与虚拟机3. Docker 架构4. 安装 Docker5. 配置镜像加速 1. Docker 的工作原理 大型项目组件较多,运行环境也较为复杂,部署会碰到一些问题: ① 依赖关系复杂,容易出现兼容性问题&#xff1…

【WPF.NET开发】在用户控件上启用拖放功能

本文内容 创建应用程序项目向项目添加新的用户控件向主窗口添加用户控件在用户控件中实现拖动源事件向用户提供反馈在用户控件中实现拖放目标事件使面板能够接收放置的数据 在本演练中,将创建一个表示圆形的自定义 WPF UserControl。 你将在该控件上实现可通过拖放…

C++力扣题目112,113--路径总和,路径总和II

112路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是…

PHP面试小结(20240108)

PHP 部分 1. php的包管理工具是如何实现自动加载的 换句话问:composer 实现原理是什么?spl_autoload_register() 首先,Composer 是 PHP 的一个包管理和包依赖管理的工具 , 打开安装之后生成的 "vendor" 文件, 里面有个…

【微信小程序】工具构建npm不生效问题

直接终端输入 npm init -y npm install express 会重新初始化package.json和重新刷新node_modules包 然后直接点npm构建 构建出来这个就完事了

机器学习_实战框架

文章目录 介绍机器学习的实战框架1.定义问题2.收集数据和预处理(1).收集数据(2).数据可视化(3).数据清洗(4).特征工程(5).构建特征集和标签集(6).拆分训练集、验证集和测试集。 3.选择算法并建立模型4.训练模型5.模型的评估和优化 介绍机器学习的实战框架 一个机器学习项目从开…

强化学习应用(四):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个价值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

STM32 定时器输入捕获1——初始化配置

当想检测高电平或低电平的持续时间的时候,就可以使用定时器输入捕获。例如示波器就是用到这个功能。这里就讲解一下定时器到底是如何输入捕获的: 由上图我们可以知道,周期 是每次连续的上升沿的时间差(例如:T第二个方波…

AI赋能建筑设计 | VERYCLOUD睿鸿股份与亚马逊云科技协力为AIRI lab. 打造生成式AI应用案例

近年来,很多研究都致力于探索如何让建筑师借助人工智能的力量来促进并简化设计流程。生成式AI全球爆火以来,建筑设计领域也掀起了一场全新的思维变革。 AI为建筑设计带来更多可能 作为一家面向全球提供设计服务的企业,AIRI lab.计划推出一种…

SIP-2401VP SIP音频广播模块SIP-2401VP SIP号角音柱音箱解码poe广播播放核心板

SV-2401VP和SV-2403VP网络音频模块是一款通用的独立SIP音频功能模块,可以轻松地嵌入到OEM产品中。该模块对来自网络的SIP协议及RTP音频流进行编解码。 该模块支持多种网络协议和音频编解码协议,可用于VoIP和IP寻呼以及高质量音乐流媒体播放等应用。同时…

QT 小组件 列表框以及微调框

.cpp文件 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);QListWidgetItem *pPhone new QListWidgetItem;pPhone->setText("西瓜");pPhone->…

什么是云服务器,阿里云优势如何?

阿里云服务器ECS英文全程Elastic Compute Service,云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,阿里云提供多种云服务器ECS实例规格,如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等,阿里云百科aliyunbai…

数据结构 模拟实现Queue队列(双链表模拟)

目录 一、队列的概念 二、队列的接口 三、队列的方法实现 (1)offer方法 (2)poll方法 (3)peek方法 (4)size方法 (5)isEmpty方法 四、最终代码 一、队…

行为型设计模式——状态模式

状态模式 状态模式是比较简单的设计模式,它的主要作用是减少代码中大量的 if-else 或者 switch-case 等逻辑判断(俗称屎山)。它将每个状态定义为一个类,而每个状态类有自己对应的方法,因此当需要根据状态执行逻辑代码…

从零开始搭建一个个人博客并部署发布

1、为什么要自己搭建一个个人博客呢 首先,市场上主流的个人博客有CSDN、掘金、博客园等博客平台,这些平台方便了用户创作、记录的同时,也存在一些弊端,比如某些平台可能你的文章阅读量过高的话,会强制收费等问题已经是…