【本文详细介绍了数据库的基础知识之SQL创建和操作表,欢迎读者朋友们阅读、转发和收藏!】
1 基本概念
1.1 创建表方法
创建表是指在已存在的数据库中建立新表。这是建立数据库最重要的一步,是进行其他操作的基础。
1.1.1 创建表的语法形式
CREATE TABLE 表名 (属性名 数据类型 [ 完整性约束条件 ],属性名 数据类型 [ 完整性约束条件 ],......属性名 数据类型 [ 完整性约束条件 ],)[ 表类型 ] [ 表字符集 ];
SQL 是不区分大小写
命名规范:
1. 命名富有意义 ( 英文或英文组合 )
2. 自定义名称使用小写
或者在新建窗口中输入代码,USELX,然后选中后运行它,一样进入到LX数据库中。如图所示 之前有教过不用代码设计数据库的表,这里只讲用语句创建表。如图所示,创建表的代码格式如下。CREATETABLE表名(列名1类型,列名
3. MySQL 语句使用大写
CREATE TABLE IF NOT EXISTS data_house(id INT, name VARCHAR(20);gender BOOLEAN,) Engine = MyISAM;
上面 SQL 语句的含义是:如果不存在 text1 表,就创建它,包含 3 个字段 id 、 name 和 gender ,SQL数据库建立一个表,它们的类型分别是整形、字符型和布尔型,创建的表的类型是 MyISAM 。
完整性约束条件表
PRIMARY KEY 标识该属性为该表的主键,可以唯一的标识对应的元组
常见的几种数据库创建方式如下:创建一个表。表名字Persons,第一列Id_P,整数类型;第二列LASTName,字符类型;第三列FirstName,字符类型。微软VSSQL2008数据库 mysql数据库 sqlite数据库 。
FOREIGN KEY 标识该属性为该表的外键,是与之联系的某表的主键
NOT NULL 标识该属性不能为空
UNIQUE 标识该属性的值是唯一的
AUTO_INCREMENT 标识该属性的值自动增加,这是 MySQL 的 SQL 语句的特色 (null,0)
DEFAULT 标识该属性设置默认值 (not null defualt 0,not null default 0.0,not null default &39;)
1.1.2 设置表的主键
主键是表的一个特殊字段。该字段能惟一地标识该表中的每条信息。主键和记录的关系,如同身份证和人的关系。主键用来标识每个记录,每个记录的主键值都不同。身份证是用来标明人的身份,每个人都具有惟一的身份证号。设置表的主键指在创建表时设置表的某个字段为该表的主键。
主键的主要目的是帮组 MySQL 以最快的速度查找到表中的某一条信息。
主键必须满足的条件:
1. 主键必须是唯一的,表中任意两条记录的主键字段的值不能相同;
2. 主键的值是非空值;
3. 主键可以是单一的字段,也可以是多个字段组合。
1. 单字段的主键:
CREATE TABLE student1 (stu_id INT PRIMARY KEY , stu_name VARCHAR(20) NOT NULL, stu_gender BOOLEAN) Engine = InnoDB;
2. 多字段主键 :
CREATE TABLE student2 (stu_id INT, course_id INT, grade FLOAT, PRIMARY KEY( stu_id,course_id ))Engine = InnoDB;
1.1.3 设置表的外键
SQL命令创建数据表 点击【新建查询】按钮,打开SQL命令编辑框,对数据库表的操作以及维护都可以通过编辑SQL命令实现。在编辑框内编辑创建数据库表的代码,确认代码无误后,单击【执行】按钮,创建数据表。3 创建数据表的源代码。
外键是表的一个特殊字段。如果字段 sno 是一个表 A 的属性,且依赖于表 B 的主键。那么,称表 B 为父表,表 A 为子表, sno 为表 A 的外键。通过 sno 字段将父表 B 和子表 A 建立关联关系。设置表的外键指在创建表设置某个字段为外键。
设置外键的原则:必须依赖于数据库中已存在的父表的主键;外键可以为空值。
外键的作用 : 是建立该表与其父表的关联关系。父表中删除某条信息时,子表中与之对应的信息也必须有相应的改变。例如, stu_id 就 student 表的主键, stu_id 是 grade 表的外键。当 stu_id 为 &39; 同学退学了,需要从 student 表中删除该学生的信息。那么, grade 表中 stu_id 为 &39; 的所有信息也应该同时删除。
CONSTRAINT 外键别名 FOREIGN KEY ( 属性 1.1, 属性 1.2... 属性 1.n);REFERENCES 表名 ( 属性 2.1, 属性 2.2,..., 属性 2.n)CREATE TABLE student3 (id INT PRIMARY KEY,stu_id INT,course_id INT,# 设置外键CONSTRAINT C_fk FOREIGN KEY (stu_id,course_id) REFERENCES student2(stu_id,course_id)) Engine = InnoDB;
1.1.4 设置表的非空约束
属性名 数据类型 NOT NULL
CREATE TABLE student4 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL , stu_id INT, CONSTRAINT d_fk FOREIGN KEY(stu_id) REFERENCES student2(stu_id));
1.1.5 设置表的惟一性约束
属性名 数据类型 UNIQUE
CREATE TABLE student5 (id INT NOT NULL PRIMARY KEY,stu_id INT UNIQUE ,name VARCHAR(20) NOT NULL);INSERT INTO `student5` values(1,10,&39;),(2,11,&39;);INSERT INTO `student5` values(2,10,&39;);
1.1.6 设置表的属性值自动增加
AUTO_INCREMENT 是 MYSQL 数据库中一个特殊的约束条件。其主要用于为表中插入的新记录自动生成惟一的 ID 。一个表只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须为主键的一部分。 AUTO_INCREMENT 约束的字段可以是任何整数类型 (TINYINT 、 SMALLINT 、 INT 、 BIGINT 等 ) 。默认情况下,该字段的值是从 1 开始自增。
设置属性值字段增加的基本语法规则如下:
属性名 数据类型 AUTO_INCREMENT
CREATE TABLE student6 (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT , stu_id INT UNIQUE, name VARCHAR(20) NOT NULL);INSERT INTO `student6` values(&39;,10,&39;),(&39;,11,&39;);INSERT INTO `student6` values(&39;,12,&39;);
1.1.7 设置表的履的默认值
在创建表时可以指定表中字段的默认值。如果插入一条新的记录时没有为这个字段赋值,那么数据库系统会自动为穿上字段插入默认值。默认值通过 DEFAULT 关键字来设置的。
属性名 数据类型 DEFAULT 默认值
CREATE TABLE student7 (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, stu_id INT UNIQUE, name VARCHAR(20) NOT NULL DEFAULT &39;, language VARCHAR(20) DEFAULT &39;, english VARCHAR(20) DEFAULT &39;, math FLOAT DEFAULT 0, computer FLOAT DEFAULT 0);INSERT INTO `student7` VALUES(&39;,10,&39;,&39;,&39;,&39;,&39;);INSERT INTO `student7` VALUES(&39;,11,&39;,&39;,&39;,&39;,&39;);
创建表是指在已存在的数据库中建立新表。这是建立数据库最重要的一步,是进行其他操作的基础。1.1.1 创建表的语法形式 CREATE TABLE 表名 (属性名 数据类型 [ 完整性约束条件 ],属性名 数据类型 [ 完整性约束条件 ]。