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

2024-01-14 07:44

本文主要是介绍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(数据操作语言)

这篇关于SQL语句详解二-DDL(数据定义语言)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

Mysql表如何按照日期字段的年月分区

《Mysql表如何按照日期字段的年月分区》:本文主要介绍Mysql表如何按照日期字段的年月分区的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、创键表时直接设置分区二、已有表分区1、分区的前置条件2、分区操作三、验证四、注意总结一、创键表时直接设置分区

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带