重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在使用MySQL的检查(check)约束时,向表中插入不符合约束条件的数据行时,也能插入成功不会报错!
成都创新互联专注于东昌企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。东昌网站建设公司,为东昌等地区提供建站服务。全流程定制网站开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
建表语句如下:
向其中插入行
居然返回
看来check约束是白写了,没有起作用.
经过上网查看发现,MySQL只是可以使用check约束, 但不会强制的遵循check约束!
官方推荐使用 枚举类型(ENUM) 来替代以上的使用check约束的情况.将表中的gender字段修改成如下类型:
(注意修改前的表中数据不能有gender字段含有不是'M'或'F'的数据行,否则不能执行以下语句,会报错)
执行alter语句后的person表的gender就会在插入和修改时严格验证属于的数据是否合法啦!
测试一下:
如下插入语句会报错
当输入正确的语句时不会报错,通过验证
建表时加上唯一性约束:
CREATE TABLE `t_user` (
`Id` int(11) NOT NULL AUTO_INCREMENT, -- 自增
`username` varchar(18) NOT NULL unique, -- 唯一性约束
`password` varchar(18) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
扩展资料:
MySQL 作为数据库,系统特性:
1、使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
2、支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
3、为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。
4、优化的 SQL查询算法,有效地提高查询速度。
5、提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
6、支持大型的数据库。可以处理拥有上千万条记录的大型数据库。支持多种存储引擎。
参考资料:百度百科-mySQL
银行卡存储用的是字符串类型也就是varchar类型;
备注:因为银行卡的号码较长,并且全是数字,为了方便存储,就统一存储为字符串类型。如果存储为number类型,已经超出了int类型最大值范围,必须用bigInteger存储,很不方便。并且位数太多的数值会变成科学计数法,不利于数据的正常转换,所以还是用字符串类型存储更方便一些。
在MySQL中建立两张表,parent表和 child 表,在child表中设置外关键字parent_id,引用parent表中的id,两张表的类型均为INNODB,在child表中,对parent_id建立索引。SQL语句如下:
CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT, INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ON UPDATE CASCADE ) TYPE=INNODB;