美文网首页
mysql练习题

mysql练习题

作者: 盘木 | 来源:发表于2019-05-15 15:29 被阅读0次

    1、列出你所知道的Mysql的数据类型?

        数值类型:
            tinyint     
                非常小的整型    1字节   -128<->128    or  0<->255(无符号)
            smallint
                较小的整型      2字节   -32768--32767 0--65545
            mediumint
                中等大小的整型  3字节                   0--16777215
            int
                标准的整型      4字节                   -2147483648--2147483647
            bigint
                大整数型        8字节                   2的64次方
           浮点型(小数)
               float(M,d)       4字节
               float(5,2)小数数值共5位,小数点后2位,小数点前3位
               double(M,d)        8字节
               定点数
               decimal(M,d)       M+2字节
        字符串:
            char(n)
            varchar(n)
            enum('1', '0')
            set('a', 'b', 'c')
        日期和时间:
            使用int来存储
    
        NULL
            NULL意味着“没有值”或“未知值”
            可以测试某个值是否为NULL
            不能对NULL值进行算术计算
            对NULL值进行算术运算,其结果还是NULL
            0或NULL都意味着假,其余值都意味着真
    

    2、char()和varchar()的区别?

        char是定长,效率高
        varchar()是可变长度,效率低
        长度变化不大用char,长度变化大的用varchar
    

    3、sql语句默写?
    id 字段 有属性 无符号 非空 自增 主键索引
    name 字段 char(8) 字符串类型,长度8位,使用定长
    sex 字段 enum('1', '0') //稍后添加 枚举类型,0和1
    age 字段 tinyint //小整型
    classid 字段 字符串类型,长度12,使用定长

            create table users(
               id int(11) unsigned not null auto_increment primary key,
               name char(8) not null,
               age tinyint not null,
               classid char(12) not null
            );
    

    在name后面添加一个sex字段,类型是enum('1', '0')

            alter table users add sex enum('0', '1') not  null after name;
            alter table users modify age tinyint not null;
    
    插入数据:
    

    姓名:小王 性别:男(1) 年龄:25 班级:105
    姓名:小彤 性别:女(0) 年龄:20 班级:105

    insert into `users` (name,sex,age,classid)values('小王','1',25,'105'),('小彤','0',20,'105');
    

    修改数据:
    将小王的性别改为‘0’女的

    update users set sex = '0' where name = '小王';
    

    给小王加个索引

    create index index_xm on users(name);
    alter table users add index index_age(age);
    

    删除数据:

    delete from users where classid = '105';
    

    查看表中所有的索引

    show indexes from tb_name\G
    

    删除普通索引

    alter table users drop index index_xw;
    

    查询年龄大于20的数据,降序排序。

    select * from users where age > 20 order by age desc;
    

    相关文章

      网友评论

          本文标题:mysql练习题

          本文链接:https://www.haomeiwen.com/subject/lebpaqtx.html