美文网首页
第07讲 mysql的应用案例

第07讲 mysql的应用案例

作者: 有时有晌 | 来源:发表于2019-04-29 17:53 被阅读0次

    综合案例:

    员工表(employee)

    字段 属性
    id 整形
    name 字符型
    sex 字符型或bit型
    birthday 日期型
    job 字符型
    Salary 小数型
    resume 大文本型

    假如在操作数据库的时候忘了在那个库
    那么

    mysql> show tables;
    +-----------------+
    | Tables_in_db100 |
    +-----------------+
    | test100         |
    | test200         |
    | test300         |
    | test400         |
    | test600         |
    | test700         |
    | test800         |
    +-----------------+
    7 rows in set (0.00 sec)
    

    如上很明显可以看到。 tables in db100;

    创建一个员工表 employee

    mysql> create table employee(
        -> id int unsigned,
        -> name varchar(100),
        -> sex char(1),
        -> birthday date,
        -> job varchar(30),
        -> salary decimal (10,2),
        -> jieshao text)character set utf8 engine MyISAM;
    Query OK, 0 rows affected (0.03 sec)
    

    如上是不加默认值的,

    mysql> create table employee(
        -> id int unsigned,
        -> name varchar(100) not null default '',
        -> sex char(1) not nul default '',
        -> brithday date,
        -> job varchar(30) not null default'',
        -> salary decimal (10,2) not null default '',
        -> jieshao text)character set utf8 engine MyISAM;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near 'nul
    efault '',
    brithday date,
    job varchar(30) not null default'',
    salary decima' at line 4
    

    如上带上默认值就出问题为啥。

    删了刚才创建的库之后重新创建下成功了 应该是没有注意空格啥的:

    mysql> drop table employee;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> create table employee (
        -> id int unsigned,
        -> name varchar(100) not null default '',
        -> sex char(1) not null default '',
        -> brithday date,
        -> job varchar(30) not null default '',
        -> salary decimal(10,2) not null default 0,
        -> jieshao text)character set utf8 engine MyISAM;
    Query OK, 0 rows affected (0.00 sec)
    
    

    如上成功创建

    说明:

    • 1、当我们在int 等整形增加了 unsigned后,就是一个无符号数
    • 2、我们在创建char 或者 varchar时候默认给一个''
    • 3、如果我们使用到了小数,并且要求精度高的话建议使用decimal

    相关文章

      网友评论

          本文标题:第07讲 mysql的应用案例

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