首页 / MYSQL / Mysql 表约束(基础6)
Mysql 表约束(基础6)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mysql 表约束(基础6),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2064字,纯文字阅读大概需要3分钟。
内容图文
![Mysql 表约束(基础6)](/upload/InfoBanner/zyjiaocheng/1328/f79a0cc511a9487c9e099c79ada184c7.jpg)
准备基础环境:
mysql> create database mydb2; #创建一个名为 mydb2的数据库
Query OK, 1 row affected (0.00 sec)
mysql> show databases; #查看创建的数据库, mydb2已经创建成功。
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb2 |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> use mydb2; #进入新建的数据库。
Database changed
mysql> select database(); #查看当前所在的数据库。
+------------+
| database() |
+------------+
| mydb2 |
+------------+
1 row in set (0.00 sec)
mysql>
mysql> show tables; #查看数据库,里面没有表
Empty set (0.00 sec)
##################非空约束##################
mysql> create table tb1( #创建表
-> id int,
-> name varchar(20) not null #这里使用not null约束值不能为空。
-> );
Query OK, 0 rows affected (0.02 sec)
mysql> desc tb1; #查看表结构,name字段不为空。
#测试插入一条数据,name字段的值为空。结果会报错。
mysql> insert into tb1(id) value(1); #如果name字段不使用not null约束的话,这种方式是可以的;但是目前有了约束name字段必须有值。
ERROR 1364 (HY000): Field ‘name‘ doesn‘t have a default value
mysql> insert into tb1(name) value(‘小明‘); #单独插入name字段的值是可以的,因为id字段没有约束。
Query OK, 1 row affected (0.00 sec)
mysql> insert into tb1(name) value(‘NULL‘); #在Mysql里面,NULL不等于空。
Query OK, 1 row affected (0.00 sec)
mysql> insert into tb1(id,name) value(1,‘andy‘); #此时插入完整的数据。
Query OK, 1 row affected (0.01 sec)
mysql> select * from tb1; #查看结果,可发现name字段的值 ‘小明‘ 他对应的 id 字段为 null。并且name字段的值为 ‘NULL‘ 也添加进去了。
+------+--------+
| id | name |
+------+--------+
| 1 | andy |
| NULL | 小明 |
| NULL | NULL |
+------+--------+
3 rows in set (0.00 sec)
#####使用alter修改表结构#####
mysql> desc tb1; #查看当前表结构。当前name字段 Null为 NO
mysql> alter table tb1 modify name varchar(20); #使用 alter 修改表结构,相当于重新定义tb1表中的字段name属性。
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc tb1; #查看当前表结构。当前name字段 Null为 YES
mysql> alter table tb1 modify name varchar(20) not null; #使用alter吧name再重新定义为 not null
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> select * from tb1; #查看修改后的表结构。此时name字段 Null为NO
原文:https://www.cnblogs.com/longxd/p/8846707.html
内容总结
以上是互联网集市为您收集整理的Mysql 表约束(基础6)全部内容,希望文章能够帮你解决Mysql 表约束(基础6)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。