zoukankan      html  css  js  c++  java
  • 基本数据类型

    表操作;

    create table 表名(字段名 类型[(宽度) 约束条件])

    解释:

    类型;使用限制字段必须以什么样的数据类型传值

    约束条件;约束条件是在类型之外 添加一种额外的限制

    注意:

    1.在同一张表中,字段名是不能相同

    2.宽度和约束条件可选,字段名和类型是必须的

    3.最后一个字段后不加逗号

    基本数据类型

    1.整形

    作用;id号,证件号,年龄等,

    分类;tinyint int(*****) bigint

    测试。。。

    create table t1(x tinyint)默认是有符号的

    如果超过最大限制 自动存最大值

    insert into t1 values(128),(-129);

    create table t2(x tinyint unsigned);#无符号

    insert into t2 values(-1),(256);

    整形的宽度是显示宽度(整形的存储限制是一开始规定好的)

    create table t3(x int(8)unsigned);

    insert into t3 values(42615156156165156156156156151655156156165);

    在创建表时;如果字段采用的是 整形类型,完全无需指定显示宽度,默认的显示宽度 就足够用了

    2.浮点型

    作用;工资,身高,

    分类;float double decimal

    测试。。。

    create table t9(x float(255,30));#255是数字总个数,30是小数个数

    create table t10(x double(255,30));

    create table t11(x decimal(65,30));

    不同点;

           float与double类型存放的整数位比decimal更多

           精度 低☞高 float double decimal

    3.字符类型

    定长char 变长varchar

    测试。。。(字符的宽度限制单位是字符个数)

    create table t12(x char(4));#超出4个报错,不够4个用空格补全

    create table t13(x varchar(4));#不够4个不补全

    注意;针对char类型 mysql在存储时会将数据用空格补全存放到硬盘中,但会在读出结果时自动去掉末尾的空格,因为末尾的空格在以下的场景中是无用的

    mysql>select * from t14 where name='lxx';#name 字段明确地等于一个值在,该值后填充空格是没用的

    mysql>select * from t14 where name like  'lxx';#name 字段模糊匹配一个值,该值后填充空格是有用的

    char

    优点:存取速度快

    缺点:浪费空间

    varchar

    优点:节省空间

    缺点:存取速度都慢

    4.日期类型

    date:1999-01-27

    time:11:11:11

    datetime:1999-01-27 11:11:11

    year: 1999

    测试。。。

    create table student(id int,name char(16),

                          born_year year,

                          birth date,

                          class_time time,

                          reg_time datetime);

    5.枚举与集合类型

    枚举 enum 多选一个

    集合 set 多选多

    测试。。。

    create table teacher(id int,name char(16),

                          sex enum('male','female','other'),

                          hobbies set('play','read','music'));

    not null不能为空 default默认值

    测试。。。

    create table t15(id int,name char(16)not null);

    create table t16(id int,name char(16)not null,sex

                      char(6)not null default'male’);

    insert into t15(name,id) values('egon',1);

    unique独一无二   

    单一唯一

    create table t17(id int unique,name char(16));

    create table sewer(id int unique,name char(16),

                        ip char(15),

                        port int,

                        unique(ip,pore));

    primary key;主键

    单单从约束角度去看,primary key就等同于 not null unique

    create table t18(id int primary key);

    强调:一张表中必须有,并且只能有一个主键

          一张表中通常都应该有一个id字段,而且通常应该把id字段做成主键

    联合主键;

    create table t18(ip char(15),port int,primary key(ip,port));

    auto_increment自动增加id编号

    注意点:通常都给id和主键一起来用

            auto_increment只能给被定义为key用,

                       

  • 相关阅读:
    查询安装webpack4.0是否成功时提示无法找到的解决方法
    clientHeight—scrollHeight—offsetHeight三者的区别
    onunload事件不触发的探索
    你知道刷社保卡看病买药也能扫二维码支付吗?(以成都市社保卡为例)
    成都市新社保卡线上申请方法(无需线下办理,手机直接搞定)
    jquery实现移动端页面加载后,向上滚动指定距离无效引起的探索
    社保官网查询密码重置及注册(以成都为例)
    社保对线上购买保险时2个你不知道的影响(最后一个真的太坑爹,中招的人肯定不在少数)
    坑爹的京东E卡
    Mongodb(一)
  • 原文地址:https://www.cnblogs.com/yftzw/p/9009557.html
Copyright © 2011-2022 走看看