MySQL之数据定义语言(DDL)

MySQL之数据定义语言(DDL)写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写。 SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L

MySQL之数据定义语言(DDL)

写在前面

  • 本文中 [ 内容 ] 代表啊可选项,即可写可不写。

SQL语言的基本功能介绍

SQL是一种结构化查询语言,主要有如下几个功能:

  • 数据定义语言(DDL):全称Data Definition Language
  • 数据操纵语言(DML):全称Data Manipulation Language
  • 数据控制语言(DCL):全称Data Control Language
  • 事务控制语言(TCL):全称Transaction Control Language

其中最重要的是数据操纵语言(DML),里面包含了我们常用的功能(增、删、改、查)。对于数据定义语言(DDL)和数据控制语言(DCL),我们只需要了解,知道怎么用就行了。

数据定义语言的用途

DDL主要是对数据库对象(数据库、表、视图、索引)的操作。常用命令如下:

创建 修改 销毁
create alter drop

数据库的操作语句

显示当前所有库

-- 显示说有的库 
show databases;

创建库

-- 创建库
-- creat database [if not exists] 数据库名 [charset=utf8];
-- 重复创建会报错, 可以加上if not exists
creat database if not exists student;

销毁库

-- 销毁库
-- drop database [if exists] 数据库名;
-- 如果不知道数据库是否存在,记得加if exists
drop database if exists student;

使用库

-- 使用库
-- use 数据库名;
-- 创建数据库后,当进行对表的操作之前,必须要先使用数据库。
use student;

其他

-- 查看当前所在的库
select database();

-- 修改数据库名
rename database 旧名 to 新名;

数据表的操作

查看当前库中都有哪些表

-- 查看当前库中都有哪些表
show tables;

创建表

-- 格式
-- 注意:表名 和 字段名 尽量使用 ` `(反引号)括起来 
crate table [if not exists] `表名`(
	`字段名` 字段类型 [属性] [索引] [注释],
    `字段名` 字段类型 [属性] [索引] [注释],
    ......
    `字段名` 字段类型 [属性] [索引] [注释]
)[表的搜索引擎] [字符编码] [注释];

简单示例:

creat table if not exists `table`(
	`sid` int,
    `sname` varchar(20),
    `age` int
)charset=utf8;

注意:由于默认使用的engine就是InnoDB,这个建表时候可以不写。但是charset=utf8这个最好是加上,尤其是在CMD黑窗口中输入中文的时候,
不写这一句,会出现类似如下错误

ERROR 1366 (HY000): Incorrect string value: "xD5xC5" for column "sname" at row 1

查看表结构和建表语句

-- 查看表结构
-- desc 表名;
desc student;

-- 查看建表语句
-- show creat table 表名;
show creat table stu;

修改表名

-- rename table 旧名 to 新名;
rename table student to stu;

修改表结构

修改表结构中包含给表添加某个新字段修改表中某个字段删除表中某个字段

  • 给表添加某个新字段,使用add关键字

    1. 默认是追加,即在最后一列添加新字段
    -- alter table 表名 add 字段名 字段类型;
    alter table `stu` add `cid` int;
    
    1. 在首位添加新字段,使用first关键字
    -- alter table 表名 add 字段名 字段类型 first;
    alter table `stu` add `cname` varchar(20) first;
    
  • 修改表中某个字段,使用changemodify关键字

    1. 修改字段名称,使用change关键字
    -- alter table 表名 change 旧字段名 新字段名 字段类型;
    -- 修改字段age的名称,为sage
    alter table `stu` change `age` `sage` int;
    
    1. 修改字段类型,既可以使用change,还可以使用modify
    -- 修改sname字段的数据类型由varchar(20)为varchar(50)
    -- 有以下两种方式
    -- alter table 表名 change 字段名 字段名 字段类型;
    alter table `stu` change `sname` `sname` varchar(50);
    
    -- alter table 表名 modify 字段名 字段类型;
    alter table `stu` modify `sname` varchar(50);
    
    1. 修改字段位置,可以配合使用firstafter关键字
    -- 将sname字段,放置到sage后面。可以使用如下两种方式:
    alter table `stu` change `sname` `sname` varchar(50) after `sage`;
    alter table `stu` modify `sname` varchar(50) after `sage`;
    
    -- 将sid字段,放置到首位
    alter table `stu` change `sid` `sid` int first;
    alter table `stu` modify `sid` int first;
    

    modify不能直接修改字段名称,其余能用change的地方,就可以用modify。

  • 删除表中某个字段,使用drop关键字

    -- alter table 表名 drop 字段名;
    
    -- 删除cid这个字段
    alter table `stu` drop `cid`;
    

清空表

truncate只删除数据但是不删除表结构

-- truncate table 表名;
truncate table `stu`;

销毁表

-- drop table 表名;
drop table `stu`;

注意:一般表结构有了,数据也有了,不要轻易修改表结构,增加、删除、修改列

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6164.html

(0)
上一篇 2023-04-16
下一篇 2023-04-16

相关推荐

  • jdbc-使用java连接mysql「终于解决」

    jdbc-使用java连接mysql「终于解决」package com.cqust; import com.mysql.jdbc.Driver; import java.sql.Connection; import java.sql.DriverM

    2023-04-28
    166
  • PYTHON批量注释工具

    PYTHON批量注释工具在Python开发过程中,注释是不可或缺的一个部分。良好的注释可以使代码更加易读易懂,便于后期维护。但是,在很长一段时间里,Python并没有提供一个批量注释的快捷方式,这让一些开发者感到非常困扰。

    2024-09-15
    22
  • 使用Python实现堆

    使用Python实现堆堆(Heap)是一种特殊的树形数据结构,其中每个节点都满足其父节点的值大于或等于(小于或等于)其子节点的值。堆结构最常用于排序算法中,常见的有堆排序,堆还可以在优先队列、图形算法等领域中使用。

    2024-07-25
    34
  • 基于Promethues与Grafana的Greenplum分布式数据库监控的实现

    基于Promethues与Grafana的Greenplum分布式数据库监控的实现基于Promethues与Grafana的Greenplum分布式数据库监控的实现标签(空格分隔):greenplum系列[toc]一:前言Greenplum是面向数据仓库应用的分布式关系型MPP数…

    2023-04-06
    153
  • 【12c】DataGuard物理备用数据库(DUPLICATE方式)搭建详细教程

    【12c】DataGuard物理备用数据库(DUPLICATE方式)搭建详细教程1 软件环境 Oracle Linux 6.9 Oracle 12.1.0.2 主库:sz.oracle.com,IP:192.168.1.102 备库:sh.oracle.com,IP:192.16

    2023-03-05
    148
  • MySQL数据库:子查询的应用「建议收藏」

    MySQL数据库:子查询的应用「建议收藏」子查询 子查询是一种常用计算机语言SELECT SQL语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。 表就不发出来了,将就着看叭,主要是表我找不到了是哪一个了。

    2022-12-21
    147
  • Python索引技巧

    Python索引技巧Python中最基本的索引就是通过下标获取列表、元组或字符串中的元素。下标从0开始,负数表示从后往前数。例如,a = [1, 2, 3, 4], a[0]表示获取第一个元素1,a[-1]表示获取最后一个元素4。

    2023-12-09
    117
  • 浅谈高效使用MySQL「建议收藏」

    浅谈高效使用MySQL「建议收藏」MySQL是目前经常使用的数据库。当我们需要处理几千万几亿几十亿这样级别的数据的时候,MySQL的性能至关重要,特别对于大量并发的服务器,数据库操作往往成为整个服务器的性能瓶颈。下面我分享一下一些基…

    2023-01-28
    135

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注