署名なし
- 無署名
- データ列が負の数を許可しないことを宣言する
ゼロフィル
- 0 記入済み
- 桁数が足りない場合は int(3) のように 0 で埋め、5 は 005
自動増加
- 自動拡張、データが追加されるたびに、前のレコード番号に自動的に 1 が追加されます (デフォルト)
- 通常、主キーを設定するために使用され、整数型です
- 定義可能な開始値とステップ サイズ
- 現在のテーブル設定のステップ サイズ (AUTO_INCREMENT=100): 現在のテーブルにのみ影響します
- SET @@auto_increment_increment=5 ; 自動インクリメントを使用してすべてのテーブルに影響します (グローバル)
NULL と NOT NULL
- デフォルトは NULL です。つまり、値は列に挿入されません。
- NOT NULL に設定されている場合、列には値が必要です
デフォルト
- デフォルト
- デフォルトの設定に使用
- たとえば、性別フィールドのデフォルトは「男性」で、そうでない場合は「女性」です。この列に値が指定されていない場合、デフォルト値は「男性」です。
-- 目标 : 创建一个school数据库
-- 创建学生表(列,字段)
-- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datatime),家庭住
址,email
-- 创建表之前 , 一定要先选择数据库
CREATE TABLE IF NOT EXISTS `student` (
`id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性别',
`birthday` datetime DEFAULT NULL COMMENT '生日',
`address` varchar(100) DEFAULT NULL COMMENT '地址',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
-- 查看数据库的定义
SHOW CREATE DATABASE school;
-- 查看数据表的定义
SHOW CREATE TABLE student;
-- 显示表结构
DESC student; -- 设置严格检查模式(不能容错了)SET
sql_mode='STRICT_TRANS_TABLES';