MySQL 中怎么在创建表时,对字段进行限定输入

问题描述

创建一个table时,怎么对字段内容进行限定?如:性别只能输入“男”、“女”, 年龄在 1 到 3位整数之间。谢谢! 问题补充:谢谢,有具体例子。分给你吧,新来的,就这么点,别嫌少啊,呵呵。liveHappy 写道

解决方案

比如:create table user(uid int auto_increment primary key, — 用户IDuname varchar(20) not null unique, — 用户名upwd varchar(20) not null, — 用户密码sex ENUM(‘男’, ‘女’) ,– 用户性别age char(3)) — 用户年龄);
解决方案二:
用约束去限制

时间: 2024-10-13 18:35:24

MySQL 中怎么在创建表时,对字段进行限定输入的相关文章

创建表时考虑列的顺序

创建 创建表时考虑列的顺序创建一个表时表中列的顺序在某些程度上对性能会有一定的影响.(表中的列有数据)Oracle对行数据的存储结构ROW HEADER(行头)和COLUMN DATA(列数据).ROW HEADER存储的信息是一个FLAG BYTE,一个LOCK BYTE 和COLUMN COUNT.COLUMN DATA包含COLUMN LENGTH和COLUMN DATA 关于这些我们可以DUMP个表做一下测试create test as select * from dba_objects

db2 导入-db2导入时报SQL3319N 创建表时发生 SQL 错误 "-286"

问题描述 db2导入时报SQL3319N 创建表时发生 SQL 错误 "-286" E:kelanzjnsWebSitezjbank1227>db2move zjnsWeb import Application code page not determined, using ANSI codepage 1386 ***** DB2MOVE ***** Action: IMPORT Start time: Thu Aug 29 17:29:29 2013 Connecting to

MySQL中基本的多表连接查询教程_Mysql

一.多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:         由于其返回的结果为被连接的两个数据表的乘积,因此当有WHERE, ON或USING条件的时候一般不建议使用,因为当数据表项目太多的时候,会非常慢.一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN  2.   内连接INNER JOIN 在MySQL中把I SELECT * FROM table1 CROSS J

数据库-createtable创建表时出错

问题描述 createtable创建表时出错 strCommand.Format("CREATE TABLE file_info (NAME TEXT,TYPE TEXT,TIME TEXT,PATH TEXT)"); 这句显示字段定义语法错误 该怎么改 解决方案 用的什么数据库,是否支持TEXT类型,另外,name time是否是关键字,需要转义. 解决方案二: 看上去可能是字段名称跟关键字冲突了.换个名字. 解决方案三: 这样试试: strCommand.Format("

信息-mysql中有关两张表关联的查询语句

问题描述 mysql中有关两张表关联的查询语句 宝宝信息表中存的是已经接种过疫苗的信息,is_vaccined为1,另外一张表中,存的是所有疫苗的详细信息.现在,我想通过获取宝宝id来查询该宝宝所有的疫苗的状态(包括已经接种的和未接种的),改怎么写查询语句?? 解决方案 select t1.*, t2.* from t_baby_info t1 left outer join t_vaccine t2 on t1.vaccine_id= t2.vaccine_id 解决方案二: @caozhy

java-Java修改数据库表时某字段出现重复值不能修改该记录怎么继续修改下一条记录

问题描述 Java修改数据库表时某字段出现重复值不能修改该记录怎么继续修改下一条记录 Java修改数据库表的company_name字段,此字段唯一,company_name这个字段值:前面有问号的去掉以后如果和已有的company_name重复了,就不更新或者删除,前面有问号的去掉以后如果和已有的company_name没重复就去掉问号.如:?北京金瓯鼎建筑装饰工程有限公司莱州分公司和北京金瓯鼎建筑装饰工程有限公司莱州分公司两个公司,把前面有问号的去掉问号,但是有重复的,遇到有重复的不用修改此

mysql中数据库与数据表编码格式的查看、创建及修改_Mysql

一.查看数据库编码格式 mysql> show variables like 'character_set_database'; 二.查看数据表的编码格式 mysql> show create table <表名>; 三.创建数据库时指定数据库的字符集 mysql>create database <数据库名> character set utf8; 四.创建数据表时指定数据表的编码格式 create table tb_books ( name varchar(45

大幅提升MySQL中InnoDB的全表扫描速度的方法_Mysql

 在 InnoDB中更加快速的全表扫描 一般来讲,大多数应用查询的时候都会用索引,查找很少的几行数据(主键查找或百行内的查询),但有时候我们需要全表查询.典型的全表扫描就是逻辑备份  (mysqldump) 和 online schema changes( 注:在线上对大表 schema 的操作,也是 facebook 的一个开源项目) (SELECT ... INTO OUTFILE).  在 Facebook我们用 mysqldump 来备份数据库. 正如你所知MySql提供两种备份方式,提

mysql中create命令建表sql语句

MySQL中create table语句的基本语法是:  代码如下 复制代码 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]  [table_options] [select_statement]  TEMPORARY:该关键字表示用MySQL create table新建的表为临时表,此表在当前会话结束后将自动消失.临时表主要被应用于存储过程中,对于目前尚不支持存储过程的MySQL,该关键字