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_timestampcurrent_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 修改成 stuALTER TABLE stu CHARACTER SET gbk;				-- 修改表的字符集为 gbkALTER 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(数据操作语言)

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

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

相关文章

C#进阶-IIS服务器发布ASP.NET项目

对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以 IIS服…

UCB Data100:数据科学的原理和技巧:第十六章到第十八章

十六、交叉验证和正则化 Cross Validation and Regularization 译者:飞龙 协议:CC BY-NC-SA 4.0 学习成果 认识到需要验证和测试集来预览模型在未知数据上的表现 应用交叉验证来选择模型超参数 了解 L1 和 L2 正则化的概念基础 在特征工程讲座结束时…

Qt中QGraphicsView架构下实时鼠标绘制图形

上一章节介绍了关于QGraphicsView的基础讲解,以及简单的类图创建,由上一章节中最后展示的动画效果来看,今年主要讲述如何在QGraphicsView架构下,实时拖动鼠标绘制图形! 今天主要以矩形为例,再来看一下展示…

微信公众号生成带参数的二维码加上logo

上次,记录的《用php生成微信公众号带参数的二维码demo》 这次,加上logo显得正规一点,起码看起来不像诈骗二维码 接上,上次的公众号二维码(远程二维码地址) // $wx_code ‘https://mp.weixin.qq.com/cgi-b…

数据结构——二叉树(先序、中序、后序及层次四种遍历(C语言版))超详细~ (✧∇✧) Q_Q

目录 ​​​​​​​ 二叉树的定义: *特殊的二叉树: 二叉树的性质: 二叉树的声明: 二叉树的先序遍历: 二叉树的中序遍历: 二叉树的后序遍历: 二叉树的层序遍历: 二叉树的节…

HTTP数据请求

文章目录 1 概述2 什么是HTTP3 如何发起HTTP请求4 参考链接 1 概述 日常生活中我们使用应用程序看新闻、发送消息等,都需要连接到互联网,从服务端获取数据。例如,新闻应用可以从新闻服务器中获取最新的热点新闻,从而给用户打造更…

安卓(雷电)模拟器清除屏幕密码[亲测可用]

1、设置磁盘可写 启动模拟器,然后在模拟器的设置界面,设置磁盘共享为可写入,重启模拟器,如下图: 2、找到模拟器目录 返回桌面,右键模拟器图标,打开文件所在目录,如下图&#xff1a…

Android代码混淆

Android之代码混淆 代码混淆的作用设置混淆1. 在模块目录下的 build.gradle 文件中配置以下代码2. 在 proguard-rules.pro 文件中添加混淆规则 通用混淆规则常用匹配符常用命令注意事项如何查看是否已混淆 代码混淆的作用 1.令 APK 难以被逆向工程,即很大程度上增加…

GitLab任意用户密码重置漏洞(CVE-2023-7028)

GitLab CVE-2023-7028 POC user[email][]validemail.com&user[email][]attackeremail.com 本文链接: https://www.黑客.wang/wen/47.html

【linux】tcpdump 使用

tcpdump 是一个强大的网络分析工具,可以在 UNIX 和类 UNIX 系统上使用,用于捕获和分析网络流量。它允许用户截取和显示发送或接收过网络的 TCP/IP 和其他数据包。 一、安装 tcpdump 通常是默认安装在大多数 Linux 发行版中的。如果未安装,可…

环信服务端下载消息文件---菜鸟教程

前言 在服务端,下载消息文件是一个重要的功能。它允许您从服务器端获取并保存聊天消息、文件等数据,以便在本地进行进一步的处理和分析。本指南将指导您完成环信服务端下载消息文件的步骤。 环信服务端下载消息文件是指在环信服务端上,通过调…

Nightingale 夜莺监控系统 - 监控篇(2)

Author:rab 官方文档:https://flashcat.cloud/docs/content/flashcat-monitor/categraf/3-configuration/ 目录 前言一、Categraf 配置文件二、Input 插件配置文件2.1 插件说明2.2 通用配置2.2.1 配置采集频率 interval2.2.2 配置采集实例 instances2.2…