可以在每个字段后面都加上这NULL 或 NOT NULL 修饰符来指定该字段是否可以为空(NULL),还是说必须填上数据(NOT NULL)。MySQL默认情况下指定字段为NULL修饰符,如果一个字段指定为NOT NULL,MySQL则不允许向该字段插入空值(这里面说的空值都为NULL),因为这是“龟定”。
1234567891011121314151617 | /*创建好友表,其中id ,name ,pass都不能为空*/create table friends (id int(3) not null,name varchar(8) not null,pass varchar(20) not null); /*错误提示,id列不能为空#1048 - Column ‘id‘ cannot be null*/INSERT INTO friendsVALUES (NULL , ‘simaopig‘, ‘simaopig‘); |
但是在自增列和TIMESTAMP字段中,这个规则并不适用。向这些字段中插入NULL值将会导致插入下一个自动增加的值或者当前的时间戳。
DEFAULT 修饰符:
可以使用DEFAULT修饰符为字段设定一个默认值。当插入记录时,您老人家忘记传该字段的值时,MySQL会自动为您设置上该字段的默认值。
1234567891011121314151617181920212223 | /*创建im表,将name字段设置为默认值‘QQ‘*/create table im (id int(3) not null,name varchar(25) not null default ‘QQ‘); /*插入数据,不传name字段的值,MySQL会为其设置默认值的您运行的 SQL 语句已经成功运行了。*/INSERT INTO im( id, name ) VALUES ( 2, ‘MSN‘ ) ; INSERT INTO im( id ) VALUES ( 3 ) ; SELECT * FROM im LIMIT 0 , 30; /* id name 2 MSN 3 QQ*/ |
如果一个字段中没有指定DEFAULT修饰符,MySQL会依据这个字段是NULL还是NOT NULL自动设置默认值。如果指定字段可以为NULL,则MySQL为其设置默认值为NULL。如果是NOT NULL字段,MySQL对于数值类型插入0,字符串类型插入空字符串,时间戳类型插入当前日期和时间,ENUM类型插入枚举组的第一条。
AUTO_INCREMENT 修饰符:
AUTO_INCREMENT修饰符只适用于INT字段,表明MySQL应该自动为该字段生成一个数(每次在上一次生成的数值上面加1)。对于主键(稍候介绍),这是非常有用的。因为其允许开发者使用MySQL为每条记录创建唯一的标识符。
123456789101112131415161718192021222324252627282930 | /*您运行的 SQL 语句已经成功运行了。 ( 查询花费 0.0170 秒 )*/CREATE TABLE items(id int( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,label varchar( 255 ) NOT NULL); /*插入三条数据,不指定id,采用默认值,加上AUTO_INCREMENT您运行的 SQL 语句已经成功运行了。*/insert into items(label) values (‘xxx‘); insert into items(label) values (‘yyy‘); insert into items(label) values (‘zzz‘); /*全显示出来,看一下数据,注意看id的变化*/ select * from items; /* id label 1 xxx 2 yyy 3 zzz*/ |
MySQL表中只能有一个AUTO_INCREMENT字段,而且这个字段必须被定义为键。除了字段的约束,MySQL也允许表级的约束,比如主键和外键、索引和惟一约束。这些约束置于CREATE TABLE命令的字段定义的后面。稍候为您介绍。敬请期待。
mysql简单建表
标签:
小编还为您整理了以下内容,可能对您也有帮助:
怎么创建mysql数据库创建mysql数据库表
在要在linux系统下用mysql建立一个数据库,具体操作步骤是什么?
建库:
createdatabase库名;
例如:创建一个名字位aaa的库
mysql>createdatabasesaaa;
建表:
use库名;
createtable表名(字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
useaaa;
mysql>createtablename(idint(3)auto_incrementnotnullprimarykey,xmchar(8),xbchar(2),csnydate);
如何在免费网站空间建立MySQL数据库?
可按如下方法:
1、本地需要安装NavicatforMysql等客户端软件。
2、以NavicatforMysql为例,打开NavicatforMysql。
3、点击软件上方的“连接”按钮。
4、弹出窗口中,填写免费空间的相关信息。其中:连接名为本地所起的容易电脑使用者识别的名称;主机名或IP地址填写数据库的IP地址即可;mysql默认端口为3306;用户名和密码请询问数据库管理员。以上内容填写后,点击“确定”即可。
怎么创建company数据库?
创建company数据库方法步骤如下:
登录mysqlmysql-uroot-p>yourpasswords>showdatabases;
2.
创建一个名为company数据库mysql>CREATEDATABASEcompany;//选择数据库如果数据库名字错了,可以取消再来一次:mysqL>dropdatabasecompany;
3.
在company数据库中创建一个user数据表,同时创建id、name、gender和info共4个字段。mysql>usecompany;mysql>CREATETABLEuser(idint,namechar(20),genderchar(24),infochar(36));如果数据库名字错了,可以删除重建一次。mysqL>droptableuser
navicat怎么新建mysql数据库?
步骤:
1、首先打开navicatformysql。
2、双击要建库的服务器,这里以本地的localhost为例。
3、连接后,右键点击“localhost”,选择“新建数据库”。
4、然后为数据库起名,选择字符集(一般选择UTF-8),点击确定按钮。
5、然后就会看到新建的aaa数据库已经创建成功。
如何用NavicatforMySql创建数据库与数据表?
开发网站,往往需要用数据库保存数据。我们该如何创建数据库与创建数据表呢?方法其实很简单,下面就由小编教你如何用NavicatforMySql创建数据库与数据表的操作流程。
工具/原料
电脑
Navicat数据库管理工具
方法/步骤
1、第一步:在本地创建数据库,首先把数据库运行环境启动,Apache与MySQL都显示绿色,表示环境开启成功,否则环境开启失败就无法操作数据库。
2、第二步:打开NavicatforMySql这个数据库管理工具,它是用来管理我们的数据库的创建,管理等操作,如下图所示:
3、第三步:打开NavicatforMySql之后,在左侧用鼠标右键,选择新建数据库
4、第四步:进入创建数据库的页面,数据库名命名为myxiaoze;字符集填写utf8--UTF-8Unicode;排序规则填写utf8_general_ci,填好之后点击确定:
5、第五步:在左侧右键刷新,就可以看到刚刚创建好的数据库,如下图所示:
6、第六步:双击打开刚刚创建好的数据库,点击表,在右边空白处右键,选择新建表,如图所示:
7、第七步:进入创建表的页面,接下来就是创建字段了,设置主键并且自动递增,自动递增的作用是,每增加一条数据,id就会自动增加,不需要我们输入。
8、第八步:同时按Ctrl+s保存数据表,并且填写数据表名,命名为xz。通过上面的步骤,我们就完美实现数据库的创建与数据表的创建。
怎样建立数据库表格(mysql怎么建立数据库表格)
一、建立数据库
方法一:使用向导,调出方法⑴可采用“文件”菜单“新建”
⑵或采用“工具”菜单“向导”
方法二:使用数据库设计器
1、使用向导建立数据库
特点:可以方便快捷地创建数据库,但只适用于一般常用的数据库。
2、使用数据库设计器建立数据库
特点:最大特点就是灵活性
操作步骤:⑴“文件”菜单“新建”,显示新建对话框
⑵选择“数据库”和单击“新建文件”钮
⑶在创建对话框中输入新数据库的名称和单击“保存”钮
效果:数据库文件已经建立完成。
显示出“数据库设计器”窗口和“数据库设计工具”
打开“数据库设计器”工具方法:“显示”菜单“工具栏”
选择“数据库设计器”
三、建立表
1、数据库与数据表
可以先建立自由表,然后再添加到数据库中
建立新的数据库表,系统会将其自动加入到数据库中。
2、建立自由表
注意:自由表于任何数据库,如需要课添加到数据库中,但不能同时
将一个表添加到多个数据库。
预备知识:建立表必须首先建立表的结构
即要描述各个字段的字段名、字段类型、字段宽度、如果是数
值型还有小数位数,以及索引、是否再字段中允许空值(选择NULL)
3、建立数据库表
有三种方法:
法一、“文件”菜单“新建”,显示新建对话框
选择“表”和单击“新建文件”钮
在创建对话框中输入新数表名称和单击“保存”钮
法二、再建立完数据库后,不关闭“数据库设计器”窗口,单击鼠标右键后
选择快捷菜单种的“新表”,单击“新表”钮,再创建对话框输入表名
后“保存”
法三、使用数据库设计器工具栏
(“显示”菜单“工具栏”)
选择“数据库设计器”工具栏种的第一个钮“新建表”
二、使用命令建立数据库、数据库表
1、建立数据库
CREATEDATABASE数据库名称
2、建立数据库表
CREATETABLE│DBF表名[FREE]
(字段名1字段类型[(字段宽度[,小数位数])]
[(字段名2]
二、使用向导建立查询
1、查询形式分类:查询向导:标准查询
交叉表向导:以电子表格形式输出查询结果
图形向导:以电子图形形式输出查询结果
2、使用查询向导建立查询步骤:
[0]使用查询向导前必须先打开用到的库表或自由表
⑴字段选取
⑵记录筛选
⑶选择排序方式
⑷查询完成(选择保存并运行)(浏览查询)
⑸打开查询设计器,修改查询
sql如何建表mysql如何建表
sql语句来创建表
创建表的sql语句是CREATETABLE。SQLCREATETABLE是SQL语言中的建表语句,用于在数据库中创建表。语法是:createtabletable(field1type[(size)][notnull][index1][,field2type[(size)][notnull][index2][,...]][,约束多字段索引[,...]]]).
table参数用于指定新创建的表的名称。1,field2用于指定在新表中创建的新字段的名称。每个新表必须至少创建一个字段。type参数用于指定新创建字段的数据类型。size参数用于指定文本和二进制字段的长度。
NOTNULL是SQL的关键字。如果使用此参数,新记录的字段值必须是有效数据。在一个字段上只能使用一次NOTNULL参数,否则会出现错误。1,index2参数是定义单个字段索引的约束子句。
multiplieldindex参数是定义multiplieldindex的约束子句。
数据类型:
1.integer(size):只能容纳整数。指定括号中的最大位数。
2.int(size):只能容纳整数。指定括号中的最大位数。
3.smallint(size):只能容纳整数。指定括号中的最大位数。
4.tinyint(size):只能容纳整数。指定括号中的最大位数。
5.decimal(size,d):保存带小数的数字。“尺寸如果你想使用可选的约束,创建表格的格式为:createtable"tablename"("column1""datatype","column2""datatype","column3""datatype");=optional这里注意:你可以任意创建多列的表格,这个条件是可选的。
sql2012如何创建数据库及插入数据表?
sql2012创建数据库及插入数据表的方法:
1、打开“MicrosoftSQLServerManagementStudio”,连接数据库。
2、点击数据库前面的“+”号,展开数据库列表,安装好SQL2012后,里面会有一些默认的数据库。
3、展开数据库列表后,鼠标右键单击数据库,在弹出的列表里选择“新建数据库”,在弹出的窗口中输入数据库名称,初始大小,然后点击“确定”即可。这里创建了一个叫“1”的数据库。
4、现在我们便能看见刚才创建的数据库了,点击数据库"1"前的“+”展开,右击“表”选择"新建表",在弹出的窗口内,输入“列名”选择“数据类型”可在“列属性”中设置属性,然后点击左上角的保存即可完成数据表的创建。
mysql怎么建立数据库?
Windows下,假如你的MySQL装在D:MySQL,就可以这样:
1、先切换到它的bin目录
cdD:MySQLbin
D:MySQLbin>mysql-uroot-p
2、接着输入你的root密码
接下来你就可以创建数据库、创建用户、创建修改表之类的操作(常用命令如下)。
3、查看现有数据库
mysql>showdatabases;
mysql创建数据库(假如数据库名为mydb)
mysql>createdatabasemydb;
删除数据库(假如数据库名为mydb)
mysql>dropdatabaseaccounts;
使用数据库(假如使用数据库mydb)
mysql>usemydb;
执行完使用数据库命令后,就可以对该数据库进行创建、修改、插入、删除表等操作。一个数据库就相当于一个Excel文件,而表则相当于Excel文件的单元格,数据就是存放在表中。
MySQL数据库中学生,教师,课程,成绩,班级和班长之间应该怎么建表?哪些表之间有外键?
在MySQL数据库中,学生、教师、课程、成绩、班级和班长之间可以建立如下表:
学生表(student)
字段名
类型
描述
id int 学生ID
name varchar 学生姓名
class_id int 班级ID
leader tinyint 是否为班长
该表中的class_id字段与班级表的id字段关联,leader字段表示该学生是否为班长。
教师表(teacher)
字段名
类型
描述
id int 教师ID
name varchar 教师姓名
课程表(course)
字段名
类型
描述
id int 课程ID
name varchar 课程名称
teacher_id int 授课教师ID
该表中的teacher_id字段与教师表的id字段关联。
成绩表(score)
字段名
类型
描述
id int 成绩ID
student_id int 学生ID
course_id int 课程ID
score decimal 成绩
该表中的studentid字段与学生表的id字段关联,courseid字段与课程表的id字段关联,score字段表示该学生在该课程中的成绩。
班级表(class)
字段名
类型
描述
id int 班级ID
name varchar 班级名称
班长表(leader)
字段名
类型
描述
id int 班长ID
student_id int 学生ID
该表中的student_id字段与学生表的id字段关联。
在上述表中,学生表、课程表、成绩表和班级表之间存在外键关系,分别为:
学生表的class_id字段与班级表的id字段关联;
课程表的teacher_id字段与教师表的id字段关联;
成绩表的studentid字段与学生表的id字段关联,courseid字段与课程表的id字段关联。