②【MySQL表操作】 数据库表的创建、查询、修改、删除

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

②【MySQL表操作】 数据库表的创建、查询、修改、删除_第1张图片

②【表操作】 数据库表的创建、查询、修改、删除

  • 数据库表的创建、查询、修改、删除
    • 1. 数据类型
    • 2. DDL - 表操作


数据库表的创建、查询、修改、删除


1. 数据类型

数据库表中的数据类型

  • 数值类型:
    • TINYINT:小整数
    • SMALLINT:大整数
    • MEDIUMINT:大整数,范围大于SMALLINT
    • INT/INTEGER:大整数,范围大于MEDIUMINT
    • BIGINT:极大整数值
    • FLOAT:单精度浮点数
    • DOUBLE(总长度,小数长度):双精度浮点数
    • DECIMAL:小数(精确定点数)
  • 字符串类型:
    • CHAR(长度):定长字符串 0 - 255 bytes
    • VARCHAR(最大长度):变长字符串0 - 65535 bytes
    • TINYBLOD:不超过255个字符的二进制数据 0 - 255 bytes
    • TINYTEXT:短文本字符串 0 - 255 bytes
    • BLOB:二进制形式的长文本数据 0 - 65535 bytes
    • TEXT:长文本数据 0 - 65535 bytes
    • MEDIUMBLOB:二进制形式的中等长度文本数据
    • MEDIUMTEXT:中等长度文本数据
    • LONGBLOB:二进制形式的极大文本数据
    • LONGTEXT:极大文本数据
  • 日期类型:
    • DATE:日期值(YYYY-MM-DD)
    • TIME:时间值或持续时间(HH:MM:SS)
    • YEAR:年份值(YYYY)
    • DATETIME:混合日期和时间(YYYY-MM-DD HH:MM:SS)
    • TIMESTAMP:混合日期和时间,时间戳(YYYY-MM-DD HH:MM:SS)



2. DDL - 表操作

DDL-表操作

  • 查询表信息

    • ①查询当前数据库所有表

    • SHOW TABLES;
      
    • ②查询表结构

    • DESC 表名;
      
    • ③查询指定表的建表语句

    • SHOW CREATE TABLE 表名;
      
  • 创建表操作

    • -- 每个字段结尾用逗号“ ,”分割
      -- 最后一个字段后面没有逗号“ ,”
      -- [...] 中括号括起来的是可选参数,可以不写
      CREATE TABLE 表名(
      	字段1 字段1类型 [COMMENT 字段1注释],
          字段2 字段2类型 [COMMENT 字段2注释],
          字段3 字段3类型 [COMMENT 字段3注释],
          ...
          字段n 字段n类型 [COMMENT 字段n注释]
      )[COMMENT 表注释];
      
      • -- 演示:
        
        -- 创建表tb_user
        -- 注释内容使用一对英文的单引号括起来''
        -- 整型用int表示
        -- 字符串用varchar()表示,括号内填入最大长度
        CREATE TABLE tb_user(
        	id INT COMMENT '用户编号',
        	NAME VARCHAR(50) COMMENT '姓名',
        	age INT COMMENT '年龄',
        	sex VARCHAR(1) COMMENT '性别'
        )COMMENT '用户表';
        
        
        /*
        案例:设计一张员工表,需求如下
        1.编号(纯数字)
        2.员工工号(字符串,长度不超过10)
        3.员工姓名(字符串,长度不超过10)
        4.性别(男/女。存储一个汉字)
        5.年龄(不可能为负数)-- 使用UNSIGNED关键字,表示无符号
        6.身份证号(身份证号均为18位且可能存在X这样的字符)
        7.入职时间(记录年月日即可)
        */
        CREATE TABLE tb_emp(
        	id INT COMMENT '编号',
        	emp_id VARCHAR(10) COMMENT '员工工号',
        	emp_name VARCHAR(10) COMMENT '员工姓名',
        	sex CHAR(1) COMMENT '性别',
        	age TINYINT UNSIGNED COMMENT '年龄',
        	identity CHAR(18) COMMENT '身份证号',
        	entrydata DATE COMMENT '入职时间'
        )COMMENT '员工表';
        
  • 修改表操作

    • ①添加字段

    • ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
      
      • -- 案例
        -- 为tb_emp表新增一个字段
        -- 昵称:nickname,类型:varchar(20)
        ALTER TABLE tb_emp ADD nickname VARCHAR(20) COMMENT '昵称';
        
    • ②修改字段

    • ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
      
      • -- 案例
        -- 将tb_emp表的nickname字段修改为username,类型varchar(30)
        ALTER TABLE tb_emp CHANGE nickname username VARCHAR(30);
        
    • ③删除字段

    • ALTER TABLE 表名 DROP 字段名;
      
      • -- 案例
        -- 将tb_emp表的字段username删除
        ALTER TABLE tb_emp DROP username;
        
    • ④修改表名

    • ALTER TABLE 表名 RENAME TO 新表名;
      
  • 删除表操作:

    • ①删除表

    • DROP TABLE [IF EXISTS] 表名;
      
      • -- 演示
        
        -- 删除名为aaa的表
        -- 执行时,如果aaa表不存在,报错:
        -- 错误代码: 1051 Unknown table '表名'
        DROP TABLE aaa;
        
        -- 使用关键字IF EXISTS
        -- 当要被删除表不存在时,不会再删除,也不会报错
        DROP TABLE IF EXISTS aaa;
        
    • ②删除指定表,并重新创建该表

    • TRUNCATE TABLE 表名;
      



你可能感兴趣的:(SQL,拿来即用。,数据库,mysql,db,database)