mysql 05: 增 删 改

2年前 (2022) 程序员胖胖胖虎阿
140 0 0

创建表

  • 语法格式:

    create table 表名{
    	字段名1 数据类型,
    	字段名2 数据类型,
    	字段名3 数据类型,
    	...
    };
    
  • 常见数据类型

    • int 整数型
    • bigint 长整型
    • float 浮点型
    • char 定长字符串(255)
    • varchar 可变长字符串
    • date 日期类型
    • BLOB 二进制大对象(存储图片,视频等流媒体信息)
    • CLOB 字符大对象(存储较大文本,比如,可以存储4G的字符串)
    • ......
  • char 和 varchar怎么选择?

    • char:定长空间,超出报错
    • archar:根据实际存储长度动态分配空间,超出报错
  • BLOB 和 CLOB

    • 不能通过insert插入,要通过I/O流操作
    • 不一定直接将大数据放入数据库
  • 数据库中表的命名建议:t_XXX,tbl_XXX

    create table t_student(
        no bigint,
        name varchar(255),
        sex char(1),
        classno varchar(255),
        birth char(10)
    );
    

insert语句

  • 语法格式:insert into tb_name(字段1, 字段2, 字段3, ...) values(值1, 值2, 值3, ....);
    • 字段的数量和值的数量要一致
    • 执行成功,数据表中必定新增一条记录
    • 省略字段名时,values里对值的数量和位置都有限制
    • 可以一次插入多条记录

表的复制以及批量插入

  • 表的复制
    • 语法:create table tb_name as select 语句;
      • 将查询结果作为一张新表并创建出来
  • 批量插入
    • 语法:insert into tb_name select 语句;
      • 将查询出的数据重新插入表中
      • 有基本的字段数量的对应限制(常识)

修改数据

  • 语法:update tb_name set 字段名1=值1, 字段名2=值2... where 条件;
    • 没有条件:整张表的数据全部更新
    • 各修改之间用逗号隔开

删除表中数据:delete

  • 语法:delete from tb_name where 条件;
    • 没有条件,全部删除
  • delete的效率比较低:
    • 没有释放数据的真实存储空间
    • 好比将表格里的数据拿橡皮擦擦除
    • 数据表的表格(物理存储空间)还存在,回滚还能回来

删除大表中的数据:truncate

  • 语法:truncate table tb_name;
  • 原理:
    • 表截断,将表头留下,后面的数据不要了,格子也不要了(存储数据的空间释放)
    • 不可回滚,永久丢失
    • 无法恢复数据,删前问清楚

对于表结构的更改

  • 修改表结构,就是对之前的设计进行了否定
  • 很少,也可借助工具完成

CRUD

  • create:增加
  • retrieve:检索
  • update:更新
  • delete:删除
版权声明:程序员胖胖胖虎阿 发表于 2022年10月20日 上午3:32。
转载请注明:mysql 05: 增 删 改 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...