精华内容
下载资源
问答
  • MySQL非空约束

    千次阅读 2020-03-13 17:55:49
    MySQL 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。 非空约束(Not Null Constraint)指字段的值不能为...

    MySQL 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。

    非空约束(Not Null Constraint)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。

    在创建表时设置非空约束

    创建表时可以使用 NOT NULL 关键字设置非空约束,具体的语法规则如下:

    <字段名> <数据类型> NOT NULL;
    

    创建数据表 tb_dept4,指定部门名称不能为空,输入的 SQL 语句和运行结果如下所示。

    mysql> CREATE TABLE tb_dept4
        -> (
        -> id INT(11) PRIMARY KEY,
        -> name VARCHAR(22) NOT NULL,
        -> location VARCHAR(50)
        -> );
    Query OK, 0 rows affected (0.37 sec)
    mysql> DESC tb_dept3;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | id       | int(11)     | NO   | PRI | NULL    |       |
    | name     | varchar(22) | NO   |     | NULL    |       |
    | location | varchar(50) | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    3 rows in set (0.06 sec)
    

    在修改表时添加非空约束

    修改表时设置非空约束的语法规则如下:

    ALTER TABLE <数据表名>
    CHANGE COLUMN <字段名>
    <字段名> <数据类型> NOT NULL;
    

    修改数据表 tb_dept4,指定部门位置不能为空,输入的 SQL 语句和运行结果如下所示。

    mysql> ALTER TABLE tb_dept4
        -> CHANGE COLUMN location
        -> location VARCHAR(50) NOT NULL;
    Query OK, 0 rows affected (0.15 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    mysql> DESC tb_dept4;
    +----------+-------------+------+-----+----------+-------+
    | Field    | Type        | Null | Key | Default  | Extra |
    +----------+-------------+------+-----+----------+-------+
    | id       | int(11)     | NO   | PRI | NULL     |       |
    | name     | varchar(22) | NO   |     | NULL     |       |
    | location | varchar(50) | NO   |     | NULL     |       |
    +----------+-------------+------+-----+----------+-------+
    3 rows in set (0.00 sec)
    

    删除非空约束

    修改表时删除非空约束的语法规则如下:

    ALTER TABLE <数据表名>
    CHANGE COLUMN <字段名> <字段名> <数据类型> NULL;
    

    修改数据表 tb_dept4,将部门位置的非空约束删除,输入的 SQL 语句和运行结果如下所示。

    mysql> ALTER TABLE tb_dept4
        -> CHANGE COLUMN location
        -> location VARCHAR(50) NULL;
    Query OK, 0 rows affected (0.15 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    mysql> DESC tb_dept4;
    +----------+-------------+------+-----+----------+-------+
    | Field    | Type        | Null | Key | Default  | Extra |
    +----------+-------------+------+-----+----------+-------+
    | id       | int(11)     | NO   | PRI | NULL     |       |
    | name     | varchar(22) | NO   |     | NULL     |       |
    | location | varchar(50) | YES  |     | NULL     |       |
    +----------+-------------+------+-----+----------+-------+
    3 rows in set (0.00 sec)
    
    展开全文
  • MySQL 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。 非空约束(Not Null Constraint)指字段的值不能...

    MySQL 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。

     

    非空约束(Not Null Constraint)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。

    在创建表时设置非空约束

    创建表时可以使用 NOT NULL 关键字设置非空约束,具体的语法规则如下:

    <字段名> <数据类型> NOT NULL;

    【实例 1】创建数据表 tb_dept4,指定部门名称不能为空,输入的 SQL 语句和运行结果如下所示。

      mysql> CREATE TABLE tb_dept4      -> (      -> id INT(11) PRIMARY KEY,      -> name VARCHAR(22) NOT NULL,      -> location VARCHAR(50)      -> );  Query OK, 0 rows affected (0.37 sec)  mysql> DESC tb_dept3;  +----------+-------------+------+-----+---------+-------+  | Field    | Type        | Null | Key | Default | Extra |  +----------+-------------+------+-----+---------+-------+  | id       | int(11)     | NO   | PRI | NULL    |       |  | name     | varchar(22) | NO   |     | NULL    |       |  | location | varchar(50) | YES  |     | NULL    |       |  +----------+-------------+------+-----+---------+-------+  3 rows in set (0.06 sec)

    在修改表时添加非空约束

    修改表时设置非空约束的语法规则如下:

    ALTER TABLE <数据表名>
    CHANGE COLUMN <字段名>
    <字段名> <数据类型> NOT NULL;

    【实例 1】修改数据表 tb_dept4,指定部门位置不能为空,输入的 SQL 语句和运行结果如下所示。

      mysql> ALTER TABLE tb_dept4      -> CHANGE COLUMN location      -> location VARCHAR(50) NOT NULL;  Query OK, 0 rows affected (0.15 sec)  Records: 0  Duplicates: 0  Warnings: 0  mysql> DESC tb_dept4;  +----------+-------------+------+-----+----------+-------+  | Field    | Type        | Null | Key | Default  | Extra |  +----------+-------------+------+-----+----------+-------+  | id       | int(11)     | NO   | PRI | NULL     |       |  | name     | varchar(22) | NO   |     | NULL     |       |  | location | varchar(50) | NO   |     | NULL     |       |  +----------+-------------+------+-----+----------+-------+  3 rows in set (0.00 sec)

    删除非空约束

    修改表时删除非空约束的语法规则如下:

    ALTER TABLE <数据表名>
    CHANGE COLUMN <字段名> <字段名> <数据类型> NULL;

    【实例 2】修改数据表 tb_dept4,将部门位置的非空约束删除,输入的 SQL 语句和运行结果如下所示。

      mysql> ALTER TABLE tb_dept4      -> CHANGE COLUMN location      -> location VARCHAR(50) NULL;  Query OK, 0 rows affected (0.15 sec)  Records: 0  Duplicates: 0  Warnings: 0  mysql> DESC tb_dept4;  +----------+-------------+------+-----+----------+-------+  | Field    | Type        | Null | Key | Default  | Extra |  +----------+-------------+------+-----+----------+-------+  | id       | int(11)     | NO   | PRI | NULL     |       |  | name     | varchar(22) | NO   |     | NULL     |       |  | location | varchar(50) | YES  |     | NULL     |       |  +----------+-------------+------+-----+----------+-------+  3 rows in set (0.00 sec)

     

     

    展开全文
  • MySQL非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。

    MySQL非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。

    在创建表时设置非空约束

    创建表时可以使用 NOT NULL 关键字设置非空约束,具体的语法规则如下:

    <字段名> <数据类型> NOT NULL;
    

    【实例1】创建数据表dept,指定部门名称不能为空,输入的 SQL 语句和运行结果如下所示。

    mysql> create table emp(
        -> id int(11) primary key auto_increment,
        -> name varchar(100) not null,
        -> msg varchar(100)
        -> );
    Query OK, 0 rows affected
    
    mysql> desc emp;
    +-------+--------------+------+-----+---------+----------------+
    | Field | Type         | Null | Key | Default | Extra          |
    +-------+--------------+------+-----+---------+----------------+
    | id    | int(11)      | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(100) | NO   |     | NULL    |                |
    | msg   | varchar(100) | YES  |     | NULL    |                |
    +-------+--------------+------+-----+---------+----------------+
    3 rows in set
    
    mysql> 
    

    删除非空约束

    修改时删除非空约束的语法规则如下:

    ALTER TABLE <数据表名>
    CHANGE COLUMN <字段名> <字段名> <数据类型> NULL;
    

    【实例2】修改数据表emp,将部门名称的非空约束删除,输入的 SQL 语句和运行结果如下所示。

    mysql> alter table emp
        -> change column name  name varchar(100) null;
    Query OK, 0 rows affected
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc emp;
    +-------+--------------+------+-----+---------+----------------+
    | Field | Type         | Null | Key | Default | Extra          |
    +-------+--------------+------+-----+---------+----------------+
    | id    | int(11)      | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(100) | YES  |     | NULL    |                |
    | msg   | varchar(100) | YES  |     | NULL    |                |
    +-------+--------
    

    在修改表时添加非空约束

    修改表时设置非空约束的语法规则如下:

    ALTER TABLE <数据表名>
    CHANGE COLUMN <字段名>
    <字段名> <数据类型> NOT NULL;
    

    【实例3】修改数据表emp,指定部门位置不能为空,输入的 SQL 语句和运行结果如下所示。

    mysql> alter table emp
        -> change column name name varchar(100) not null;
    Query OK, 0 rows affected
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc emp;
    +-------+--------------+------+-----+---------+----------------+
    | Field | Type         | Null | Key | Default | Extra          |
    +-------+--------------+------+-----+---------+----------------+
    | id    | int(11)      | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(100) | NO   |     | NULL    |                |
    | msg   | varchar(100) | YES  |     | NULL    |                |
    +-------+--------------+------+-----+---------+----------------+
    3 rows in set
    
    mysql> 
    
    展开全文
  • mysql非空查询

    万次阅读 2018-07-16 16:10:45
    空值与空字符串不同,判断方法也不同。 获取空值或非空值的数据: 获取字段field为空值的数据,语法:【select * from tableName where field is null】 ...获取空字符串或非空字符串的数据: 获取字段field为空...

    1、空值与空字符串不同,判断方法也不同

    • 判断NULL用is null 或者 is not null。
    • 判断空字符串,要用 =”或者 <>”。

    2、用法说明

    • 获取空值或非空值的数据

      • 获取字段field为空值的数据,语法:【select * from tableName where field is null
      • 获取字段field为非空值的数据,语法:【select * from tableName where field is not null
    • 获取空字符串或非空字符串的数据

      • 获取字段field为空字符串的数据,语法:【select * from tableName where field=”】
      • 获取字段field为非空字符串的数据,语法:【select * from tableName where
        field!=”】
    展开全文
  • mysql 非空查询

    万次阅读 2017-05-10 16:11:59
    表 T(a,b,c) ,查询出A,B,C的值,当A的值是NULL时,显示为 0 SELECT ifnull(a,0) , b , c FROM T ; 说明: ...1、查询字段值为空的语法:where ...2、查询字段值不为空的语法:where is not null ...
  • mysql 非空约束 基础

    2013-04-17 12:25:35
    Mysql和SQL的语法差不多是一样的,分为以下几个大类。 1、 数据定义语言(DDL):create , alter ,drop 等 2、 数据操作语言(DML):如插入,修改,删除等 3、 数据控制语言(DCL):grant,revoke等 我们...
  • MySQL版本 select version(); +------------+ | version() | +------------+ | 5.7.21-log | +------------+ 1 row in set (0.00 sec) 非空约束为null 并在自增列属性前 即使自增列的非空约束定义可以...
  • mysql非空与唯一性约束

    千次阅读 2014-02-24 21:27:26
    mysql> create table product(  -> id int,  -> name varchar(10),  -> p_id int not null,  -> )character set utf8  -> collate utf8_general_ci; ERROR 1064 (42000): You have an error in
  • 1.mysql字段默认的含义:在插入时不指定该字段和该字段的值,那么此时才会走默认值; 2.以mybatis举例,如果是插入实体,那么为空的字段就会插入空; 3.如果不想mybatis等持久化工具插入空,可以尝试insertSelective...
  • mysql判断非空

    2021-03-30 09:24:01
    -- 2 第一个非空的值是2 select COALESCE(null,2,0); -- 0 第一个非空的值是0 select COALESCE(null,null,0); -- 9 第一个非空的是9 select COALESCE(null,null,null,9,8); -- 1 select COALESCE(1,null,0); -- ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,421
精华内容 1,368
关键字:

mysql非空

mysql 订阅