当前位置: 首页 > news >正文

数据库DDL | 增 删 改 操作 | 对数据库数据表

DDL建库建表(操作数据库/表)⭐️⭐️⭐️

数据库

创建库
//create database 库名
create database xiaozhao2;
查看库
//查看所有的库
show databases;
删除库(危险操作)
//drop database 库名
drop database xiaozhao2;
使用库\切换库
//use 库名
use xiaozhao2;
查看库数据
//查看库中所有表数据
show tables;

数据表⭐️⭐️⭐️

创建表
//创建表
create table 表名(字段名  属性  类型,...字段名  属性  类型);-- `反引号 -- 取消关键性
--  DEFAULT NULL 表示该字段的值可以为空
--  DEFAULT CHARSET=utf8mb4 字符集
--  COLLATE=utf8mb4_0900_ai_ci 字符排序
--  ENGINE=InnoDB (重要) 存储 引擎 规则CREATE TABLE `student` (`stu_name` varchar(10) DEFAULT NULL,`stu_age` tinyint DEFAULT NULL,`stu_birthday` datetime DEFAULT NULL,`stu_id` char(18) DEFAULT NULL,`stu_score` decimal(4,1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
数据表的字段类型
  • 字符串类型
    • char(字符串长度) 固定长度字符串(0~255)
    • varchar(字符串长度) 可变长度字符串(0~65535)
    • tinytext(微型文本串) 167777215长度+3个字节
    • **text(**文本串 4个G左右大小) 4294967295长度+4个字节

⭐️⭐️⭐️char和varchar的比较

  1. char 特点固定长度浪费存储空间,在时间上效率高,适用于存储不大但速度要求高的场景。

  2. varchar 特点可变长度节省存储空间,在时间上效率低,适用于非CHAR的情况

char(5) : ‘abcdef’ ❌存不下(因为数量不够) ‘abcd ‘✔ 可以存储,并且占了5个字符,不够的用空格补齐!
varchar(5) ‘abcdef’❌存不下(因为不够) ‘abcd‘ ✔可以存储,并且只占了4个字符空间!

  • 数值类型

    • tinyint 非常小的数据 存储需求1字节 有符值-27~27-1,无符值0~2^8-1

    • smallint 较小的数据 2字节 有符值-215~215-1,无符值0~2^16-1

    • mediumint 中等大小的数据 3字节 有符值-223~223-1,无符值0~2^24-1

    • int 标准整数 4字节 有符值-231~231-1,无符值0~2^32-1

      ⭐️int(2)和int(1) 的区别,int(1)中1的含义?

      ​ 1,2跟位数有关,至少显示1位,跟数字长度无关,例如int(2)输进去9输出09;输进去10输出10;int(1)输进去6输出6,输进去10输出10;区别是位数左边0的个数。1代表至少要显示1位。2代表至少显示2位。存储大于显示位数的直接输出,小于显示位数的左边用0补。

      而varchar(20)代表最多可以存储20

    • bigint 较大的整数 8字节 有符值-264~263-1,无符值0~2^64-1

    • float 单精度浮点数 4字节 ±1.1754351e-38

    • double 双精度浮点数

    decima(m,n) m:总长度 n:小数位数
    例子:要求值的范围 0~100,小数位之后一位,?
    decima(4,1) 999.9

  • 日期和时间类型

    • date YYYY-MM-DD日期格式

    • time Hh:mm:ss 时间格式

    • datetime YY-MM–DD hh:mm:ss

    • timestamp YYYYMMDDhhmmss格式表示的时间戳

    • year YYYY格式的年份值

      DEFAULT CURRENT_TIMESTAMP 添加当前默认时间

  • NULL类型

    • 理解为"没有值"、“未知值”
    • 0和Null都表示假,1为真
    • 不要用Null进行算术运算,结果仍为NULL
查看表
查看表的字段(2个方式)
//查看表结构//方式1
desc 表名;//方式2(拿到数据库真正建表的语句)
show create table 表名;// `反引号 -- 取消关键性
--  DEFAULT NULL 表示该字段的值可以为空
--  DEFAULT CHARSET=utf8mb4 字符集
--  COLLATE=utf8mb4_0900_ai_ci 字符排序
--  ENGINE=InnoDB (重要) 存储 引擎 规则CREATE TABLE `student` (`stu_name` varchar(10) DEFAULT NULL,`stu_age` tinyint DEFAULT NULL,`stu_birthday` datetime DEFAULT NULL,`stu_id` char(18) DEFAULT NULL,`stu_score` decimal(4,1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
🌟🌟 🌟修改表
表名修改
alter table 旧表名 rename as 新表名;
添加表字段⭐️⭐️⭐️
 alter table 表名 add 新字段名 类型 属性;
//给xuesheng表添加字段和备注alter table xuesheng add stu_qq varchar(20) comment '这是学生的qq号';
删除表字段
alter table 表名 drop 字段名;
修改表字段(2个方式)
// 方式1
alter table 表名 modify 字段名 要修改的类型 要修改的属性
// 方式二 changealter table 表名 change 旧字段名 新字段名 要修改的类型 要修改的属性
覆盖式,
-- 1.一定的默认值
-- 2.如果已经存在具体数据--数据是可以做隐式转换
// 方式1
alter table 表名 modify 字段名 要修改的类型 要修改的属性e.g:将stu_name 类型从 varchar(10) 改为varchar(100)
alter table xuesheng modify stu_name varchar(100); -- 方式二 change
-- alter table 表名 change 旧字段名 新字段名 要修改的类型 要修改的属性
alter table xuesheng change stu_qq qq  varchar(20) comment '学生qq号';

删除表

drop table 表名

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Java基础语法】字符修改,以及equals的用法
  • JS逆向高级爬虫
  • 【BUG】已解决:ERROR: Failed building wheel for jupyter-nbextensions-configurator
  • 【Linux】文件系统|CHS寻址|LBA逻辑块|文件索引|inode|Date block|inodeBitmap|blockBitmap
  • Python3网络爬虫开发实战(4)数据的存储
  • [Vulnhub] Raven2 PHPMailer-RCE+MSQP:Mysql权限提升
  • 【MQTT(4)】开发一个客户端,QT-Android安卓手机版本,Mosquitto替换成libhv库
  • PHP Switch 语句
  • 跨越平台的智能:Mojo模型的自定义与动态部署
  • Vue.js 2 项目实战(五):水果购物车
  • 德国云手机:企业移动办公解决方案
  • transformers进行学习率调整lr_scheduler(warmup)
  • 【详细的springboot自动装载原理】
  • 异常处理和swagger使用
  • Vue3时间选择器datetimerange在数据库存开始时间和结束时间
  • 2017届校招提前批面试回顾
  • 2017前端实习生面试总结
  • Angular2开发踩坑系列-生产环境编译
  • bearychat的java client
  • Create React App 使用
  • JavaScript类型识别
  • JSONP原理
  • js学习笔记
  • leetcode98. Validate Binary Search Tree
  • October CMS - 快速入门 9 Images And Galleries
  • passportjs 源码分析
  • PhantomJS 安装
  • python学习笔记-类对象的信息
  • React+TypeScript入门
  • scala基础语法(二)
  • Service Worker
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 闭包--闭包之tab栏切换(四)
  • 试着探索高并发下的系统架构面貌
  • 我这样减少了26.5M Java内存!
  • 小试R空间处理新库sf
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #QT(QCharts绘制曲线)
  • (03)光刻——半导体电路的绘制
  • (1)无线电失控保护(二)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (二)pulsar安装在独立的docker中,python测试
  • (分类)KNN算法- 参数调优
  • (一)Dubbo快速入门、介绍、使用
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .Net(C#)自定义WinForm控件之小结篇
  • .net流程开发平台的一些难点(1)
  • .vue文件怎么使用_vue调试工具vue-devtools的安装