首页 > 数据库 >MYSQL-DDL 基础学习

MYSQL-DDL 基础学习

时间:2024-07-27 21:24:16浏览次数:17  
标签:删除 MYSQL DDL 约束 学习 表名 db1 table 字段名

DDL:数据定义型语言

可理解为有关列的操作

1、数据库基本操作_DDL

#创建数据库db1
create database db1;
#使用数据库db1
use db1;
#删除数据库db1
drop database db1;
#查看所有的数据库
show databases;
#查看当前所使用的数据库
select database();
#查看数据库的建库语句
show create database db1;

2、数据表基本操作_DDL

#查看表的建表语句
show create table 表名;
desc 表名;
#查看当前库下的所有表
show tables;

2.1 基本格式

create table 表名 (
字段名1 类型 约束 约束.. comment '注释',
字段名2 类型 约束 约束.. comment '注释',
字段名3 类型 约束 约束.. comment '注释'
);

comment '注释'  可以更好地解释字段的含义

2.1.1类型

常用的有:int 整数型、double 小数型 、varchar(20[值写多少看自己需求]) 字符串型(python中为string)、date 时间日期类型

2.1.2约束

主键:primary key (非空且唯一)

自动增长:auto_increment (一般与主键一起使用)  

不为空:not null 

外键:foreign key (在表关联时用到,一般不用)

唯一:unique 

默认值:default (插入数据不指定值时采用默认值:default 0)

2.2 修改表结构

2.2.1增加字段
#增加字段
#默认在最后一列增加
alter table 表名 add 新字段名 类型 约束;
#指定在第一列增加
alter table 表名 add 新字段名 类型 约束 first;
#指定在某列后面增加
alter table 表名 add 新字段名 类型 约束 after 某列名;
2.2.2 修改字段
#修改字段名+类型
alter table 表名 change 旧字段名 新字段名 类型 约束;
#修改字段类型(不可改名)
alter table 表名 modify 字段名 新类型 新约束;

补充: 修改表名  rename table 旧表名 to 新表名; 

2.2.3 删除表
#删除表及元数据
drop 表名;
#删除表保留元数据
truncate 表名;
#删除某一列(纵向删除)--DDL
alter table 表名 drop 列名;
# 删除表数据(横向删除)--DML
delete from 表名 where 条件;

truncate删除表时,自增长的字段会接着已经被删除的数据值往下增长

eg:  原id值1,2,3   truncate 表后,不指定id值的状态下插入第一条数据时id自动为4,而非1

标签:删除,MYSQL,DDL,约束,学习,表名,db1,table,字段名
From: https://blog.csdn.net/weixin_65642229/article/details/140739993

相关文章

  • 【docker】配置mysql及数据持久化
    【docker】配置mysql及数据持久化前言一、使用docker时常用的命令1、用usermod命令向docker用户组添加新用户2、给docker的images打标签二、docker相关的环境配置1、配置文件的生效条件/etc/profile文件的环境变量所有用户可用,只在用户登陆的时候执行一次,安装编译好的全......
  • ssy中学暑假集训向量学习笔记(应该能完结)
    今天模拟赛T4是个极其恶心的东西,用到了许多高中数学知识,md,引入前置知识。向量定义顾名思义,向量就是有方向的量,在平面直角坐标系上可以用\((a,b)\)表示,图如下:图像上即为由\(A\)指向\(B\)的一条向量。投影投影不好解释,拿图吧。\(AC\)在\(AB\)上的投影就是\(AD\)!!刚学的时候......
  • 【MySQL】MySQL基础知识:什么是主键?什么是外键?主键和外键有什么区别?外键有什么问题?
    在关系型数据库系统中,如MySQL,主键(PrimaryKey)和外键(ForeignKey)是两个基本且重要的概念,它们在数据库设计和数据维护中扮演着重要的角色。本文将从主键和外键的基本概念入手,详细解析它们之间的区别,并探讨外键在实际应用中可能遇到的问题。......
  • 第四周学习总结
    异常处理异常处理是Java中非常重要的一部分,本周我系统学习了try-catch-finally语句的用法,以及自定义异常和异常链的概念。通过实践,我了解到如何合理地在代码中处理潜在的错误情况,确保程序的健壮性和稳定性。此外,我还学习了如何抛出和捕获特定类型的异常,以及如何使用异常来传递程......
  • Android中Service学习记录
    目录一概述二生命周期2.1启动服务startService()2.2绑定服务bindService()2.3先启动后绑定2.4先绑定后启动三使用3.1本地服务(启动式)3.2可通信的服务(绑定式)3.3前台服务3.4IntentService总结参考一概述Service组件一般用来执行长期在后台的任务,如播放音......
  • MATLAB学习日志DAY20
     结构体(1)结构体是多维MATLAB数组,包含可按文本字段标志符访问的元素。例如,S.name='EdPlum';S.score=83;S.grade='B+'创建一个具有三个字段的标量结构体:S=name:'EdPlum'score:83grade:'B+'与MATLAB环境中的所有其他内容一样,结构体......
  • java学习第四周
    这是学习java的第四周,主要学习了《Java程序设计完全学习手册》第十二章的内容,学习了文件的相关操作,能够实现对文件进行读写等,学习了Java流原理,掌握输入流与输出流、字节流和字符流等,简单认识了对象的序列化等,更熟练地进行数据处理。面向对象程序设计语言有三大特性:封装、继承和多......
  • 学习Java第四周
    本周学习一、类和对象1.定义类【修饰符】class类名{零个到多个构造器定义零个到多个成员变量零个到多个方法}修饰符:public、final、abstract(可省略)构造器:一个类创建对象的根本途径。若需要系统会提供默认构造器。2.定义成员变量【修饰符】类型成员变量名【=默认值......
  • linux学习记录(docker)
    DockeDocker是基于Go语言实现的开源容器项目。它诞生于2013年年初,最初发起者是dotCloud公司。Docker自开源后受到业界广泛的关注与参与,目前已有80多个开源组件,逐渐形成了围绕Docker容器的完整的生态体系。dotCloud公司于2013年年底改名为DockerIoc,专注于Docker相关技术和产......
  • 学习Java进度报告
    继续学习Java,还是老样子,一看就会,一写就废.有着学过其他编程语言的经历,再学自动就会相比较,一开始就是认识各种变量,课程里给它叫字面量,但是似乎比c的简单很多.只有整数,小数,字符串,字符,布尔和null.不像c里小数又float,又是double,又是longlong啥的.为了记忆深刻,我也是......