创立MySQL数据表需要以下信息:
表名
表字段名
界说每个表字段
语法
以下为创立MySQL数据表的SQL通用语法:
CREATETABLEtable_name(column_namecolumn_type);
以下例子中咱们将在RUNOOB数据库中创立数据表runoob_tbl:
CREATETABLEIFNOTEXISTS`runoob_tbl`(
`runoob_id`INTUNSIGNEDAUTO_INCREMENT,
`runoob_title`VARCHAR(100)NOTNULL,
`runoob_author`VARCHAR(40)NOTNULL,
`submission_date`DATE,
PRIMARYKEY(`runoob_id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
实例解析:
如果你不想字段为NULL可以设置字段的特点为NOTNULL,在操作数据库时如果输入该字段的数据为NULL,就会报错。
AUTO_INCREMENT界说列为自增的特点,一般用于主键,数值会主动加1。
PRIMARYKEY关键字用于界说列为主键。您可以运用多列来界说主键,列间以逗号分隔。
ENGINE设置存储引擎,CHARSET设置编码。
经过指令提示符创立表
经过mysql>指令窗口可以很简单的创立MySQL数据表。你可以运用SQL语句CREATETABLE来创立数据表。
实例
以下为创立数据表runoob_tbl实例:
[emailprotected]#mysql-uroot-pEnterpassword:*******mysql>useRUNOOB;
Databasechanged
mysql>CREATETABLErunoob_tbl(->runoob_idINTNOTNULLAUTO_INCREMENT,->runoob_titleVARCHAR(100)NOTNULL,->runoob_authorVARCHAR(40)NOTNULL,->submission_dateDATE,->PRIMARYKEY(runoob_id)->)ENGINE=InnoDBDEFAULTCHARSET=utf8;
QueryOK,0rowsaffected(0.16sec)
mysql>
注意:MySQL指令终止符为分号(;)。
创立MySql的表时,表名和字段名外面的符号`不是单引号,而是英文输入法状态下的反单引号,也便是键盘左上角esc按键下面的那一个~按键,坑惨了。
反引号是为了区分MySql关键字与普通字符而引进的符号,一般的,表名与字段名都运用反引号。

mysql

mysql建立一个简单的表代码示例

CREATETABLE`user`(
`id`int(20)NOTNULL,
`name`varchar(30)DEFAULTNULL,
`pwd`varchar(30)DEFAULTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
问题一
表名和字段名为什么要用`包括?
它是为了区别MYSQL的保留字与一般字符而引进的符号。
举个比如:
SELECT`select`FROM`test`WHEREselect=’字段值’
在test表中,有个select字段,假如不必反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,有必要加上反引号来区别。
假如表名、特点名都是惯例名字也不是关键字的话其实能够不必该符号
问题二
DEFAULTNULL是什么意思?
“默认值(Default)”的完整称号是“默认值约束(DefaultConstraint)”。MySQL默认值约束用来指定某列的默认值。
问题三
DEFAULTCHARSET=utf8;是什么意思
DEFAULTCHARACTERSETutf8:数据库字符集。设置数据库的默认编码为utf8,这儿utf8中心不要”-“;

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。