MySQL数据库 002

2.

表是记录的容器,数据库是表的容器;

创建表

先分析需要保存的数据,拥有哪些属性。这些属性应该如何保存;

Create table db_name.table_name (列结构) [表选项];

如果其中标识符出现了特殊字符,那么久要用反引号包裹;

列定义:列名 列的数据类型(字符长度) 列的属性【约束】

Create table student (
stu_no varchar(10) not null,
stu_name varchar(4) 
)

使用某个数据库,但是 ,也可以在其中操作其他的数据库;

use db_name;

查看表相关信息

show tables[like 'patten'];
show tables like 'exam_%';

表名前缀

info_student ,exam_student

前缀区分逻辑

结束符可以用/G 图形化显示

查看表结构

describe exam_student;
desc exam_student;

删除表

drop table exam_student;
drop table if exists exam_student;

修改表

修改表名:rename支持同时修改多个表名,支持跨数据库重命名【移动】;

修改列定义

  • 增加add alter table exam_student add height int(10);
  • 修改modify alter table exam_student modify height(10);
  • 删除drop alter table exam_student drop height;
  • 重命名change alter table exam_student change score fenshu int;

修改表选项

alter table tb_name 新的表选项;

rename table old_name to new _name;

校对规则 影响默认排序

每一套,编码字符集都有与之相关的校对规则。

什么是校对规则?在当前编码下,字符之间的比较顺序。

ci不区分大小写,cs区分大小写,bin字节比较

每个字符集都支持不定数量的校对规则,

可以通过如下指令

show collation;
show variables like `character_set`;

定义显示宽度

zerofill来进行0填充

unsiged控制是否正负

布尔属于tinyint

列类型

  • 数值型

    • 整数型

      • tinyint 1个字节 布尔类型属于 范围分有无符号
      • smallint 2
      • mediumint 3
      • int 4
      • bigint 8
    • 小数型

      • float 4 默认精度为6位左右
      • double 8 默认精度为 16位左右
      • decimal 定点数 小数点固定

        Create table lalala (
        a float(5,2),
        b double(8,3)
        );
  浮点数支持科学技术法 

  小数也支持zerofill unsigned
  • 日期时间型

    • year
    • timestamp
    • time
    • date
    • datetime
  • 字符串型

    • set
    • enum
    • blob
    • text
    • varchar
    • char

本文链接:

https://heyzen.club/index.php/Coder/289.html
1 + 1 =
快来做第一个评论的人吧~