• msql 中对库、文件夹、文件的操作


    一、库

      库即文件夹 

    增:create database db charset utf8;
    
    查:show databases;
          show create database db;
    
    改:alter database db charset gbk;
    
    删:drop database db;

    二、文件夹

      在对文件夹进行修改时需要选择对应的库

    增:create table student(id int,name char);
        create table db.student(id int,name char);
    
    查:show tables;
        show create table student;
        desc student;
    
    改:alter table student add age int;
        alter table student modify name char(15);
        alter table student change name NAME char(10);
    
        # 删除表格中的某一个属性
        alter table student drop age;
    
    删:drop table student;    

    1.创建表的完整语法:

    create table 表名(字段名 字段类型[宽度 约束条件],
                              字段名 字段类型[宽度 约束条件]);
    
    
    # 规定
        同一张表中,表名时不可一致的
        宽度和约束条件时可以自由选择的
        字段名和字段类型是必须有的

    2.查看表的结构

    desc 表名

    3.数据类型

    3.1整数类型

    TINYINT SMALLINT MEDIUMINT INT BIGINT

    (1)整型在创建时默认是有符号的(即+-)

      create table tb(x tinyint);   # 没有指定符号,即使用默认的

      create table tb(x tinyint unsigned);   # 指定不需要-号,即自定义符号

    注意:整型后边的宽度限制根本就不是存储宽度,而是显示宽度 

      create table tb (x int(1));

    set global sql_mode="strict_trans_tables";
    # 必须重启客户端之后方可查看
    # 查看方式
    select @@sql_mode;
    修改sql_mode为严格模式

    3.2 浮点型

    FLOAT DOUBLE DECIMAL

    (1)FLOAT 单精度浮点数

    格式:float(m,d)   m:表示数字总个数,最大值是255;d:表示小数点后的个数,最大值值是30

    (2)DOUBLE 双精度浮点数

    格式:double(m,d)  m:表示数字总个数,最大值是255;d:表示小数点后的个数,最大值值是30

    (3)DECIMAL 准确的小数值

    格式:decimal(m,d)  m:表示数字总个数(-号不算在内),最大值是60;d:表示小数点后的个数,最大值值是30

    3.3 日期类型

    DATE TIME DATETIME TIMESTAMP YEAR 

    格式:

      time:00:00:00

      date:9999-9-9

      year:9999

      datetime/timestamp:9999-9-9 00:00:00

      

    create table student(
        id int primary key auto_increment,
        name char(15),
        born_year year,
        birth date,
        class_time time,
        log_time datetime
    );
    
    insert into student(name,born_year,birth,class_time,log_time) values
    ('dawang',now(),now(),now(),now());
    datetime
    create table student(
        id int primary key auto_increment,
        name char(16),
        born_year year,
        birth date,
        class_time time,
        reg_time timestamp
    );
    
    insert into student(name,born_year,birth,class_time,reg_time) values
    ('dawang',now(),now(),now());
    timestamp

    3.4 字符类型

    char:定长char(5)

    varchar:变长varchar(5)

    注意:宽度限制指的是字符的个数

    相同点:

      宽度指的都是最大存储的字符个数,超过了都是无法正常存储的

    不同点:

      char(5):'m'---'m    '指的是5个字符,右边实际上会以空格自动填充

      varchar(5):'m'---'m'指的是1个字符,什么事情都不会发生

    set global sql_mode="strict_trans_tables,PAD_CHAR_TO_FULL_LENGTH";
    设置成自动填充模式

    在指定查找是需要注意的点:

      mysql 在查询时,针对where 字段='值     '这种类型的,会自动忽略掉右边的空格,变成where 字段='值' 的格式

      但是,但我们需要模糊匹配时就需要注意了,它是不会自动忽略掉右边的空格的。

    % 表示的是在指定的字符之后可以是任意个数的字符
    _   表示的是在指定的字符之后只能有一个任意的字符
    查找时的 %和_

    3.5 枚举与集合

    枚举:enum('a','b','c')指的是从多个中选择一个

    集合:set('a','b','c')指的是从多个中选择多个

    create table student(
        name varchar(15),
        sex enum('male','female'),  # 性别类型应该设置成从多个当中选择一个即可
        hobbies set('read','music','play')  #爱好这种类型可以有多个
    );

    三、文件

    增:insert into student(id,name) values
        (1,'dawang'),
        (2,'xiaoer');
    
    查:select * from student;    
        select name from db.student;
        select id,name from student;
        select id from student where id=2;
    
    改:update db.student set name='DAWANG' where id =1;
    
    删:delete from student where id =1;
           truncate student;
    # delete 和 truncate的区别:
    # delete 删除表格中某一行时,会保留之前的id,即在之后创建的数据id 都会以之前的为起始
    # truncate 清除整个表格,id号会清空,下次新增的id会重新开始计数
  • 相关阅读:
    Linux systemctl 命令完全指南
    分享一些 Kafka 消费数据的小经验
    大数据日志采集系统
    使用Spring Boot Actuator将指标导出到InfluxDB和Prometheus
    这可能是最为详细的Docker入门吐血总结
    用不用lambda,这是一个问题
    es上的的Watcher示例
    Elasticsearch6.5.2 X-pack破解及安装教程
    oauth2.0通过JdbcClientDetailsService从数据库读取相应的配置
    Apache Beam实战指南 | 手把手教你玩转大数据存储HdfsIO
  • 原文地址:https://www.cnblogs.com/Smart1san/p/9339846.html
Copyright © 2020-2023  润新知