Mysql的学习3___数据的管理

1.主键:

每个表中最多只能有1个主键,且主键的值不能重复,通过主键可以唯一的确定一条记录。当我们在创建表的时候就声明了主键的话,Mysql就会对我们插入的每一条记录进行检验,若有主键值相同时就会报错。另外主键是默认NotNull的。

声明主键的两种方式:

主键只是单个列时(比如设置学生的学号为主键):

Stu_id   int( 5 )  primary key;

主键是多个列时  :

primary key(列名1,列名2。。。);

主键和唯一性约束的区别:

都保证了列或列组合的唯一性;但是主键在一个表中只能有一个,唯一性约束可以存在多个;主键不允许为空,唯一性约束可以为空的。

2.外键:

定义:在两个关系中存在公共的若干个字段,且在一个关系中这些公共字段是主键就称该表为主表,另一个关系就称为从表并称这些公共字段为外键。外键主要目的是将两张表形成关联,即就是可以通过从表的外键来引用从表中其他列的值或者空值。

定义的语法格式:

constraint   [ 外键的名称 ]   foreign  key (列1,列2。。。) refferences  父表名(父列1,父列2。。。)

(建立外键时:先创建主表,再是从表     删除外键时:先删除从表,再是主表)

#创建外键方式:在创建从表的同时创建外键
(grade是主表,student是从表)
CREATE TABLE `grade` (
  `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT ‘年级ID‘,
  `gradename` VARCHAR(50) NOT NULL COMMENT ‘年级名称‘,
  PRIMARY KEY (`gradeid`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

CREATE TABLE `student` (
  `studentno` INT(4) NOT NULL COMMENT ‘学号‘,
  `studentname` VARCHAR(20) NOT NULL DEFAULT ‘匿名‘ COMMENT ‘姓名‘,
  `sex` TINYINT(1) DEFAULT ‘1‘ COMMENT ‘性别‘,
  `gradeid` INT(10) DEFAULT NULL COMMENT ‘年级‘,
  `phoneNum` VARCHAR(50) NOT NULL COMMENT ‘手机‘,
  `address` VARCHAR(255) DEFAULT NULL COMMENT ‘地址‘,
  `borndate` DATETIME DEFAULT NULL COMMENT ‘生日‘,
  `email` VARCHAR(50) DEFAULT NULL COMMENT ‘邮箱‘,
  `idCard` VARCHAR(18) DEFAULT NULL COMMENT ‘身份证号‘,
  PRIMARY KEY (`studentno`),
  KEY `FK_gradeid` (`gradeid`),
  CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade` (`gradeid`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

3.数据的管理:

数据库操作语言:用于操作数据库对象中所包含的数据。

INSERT:添加数据语句

INSERT INTO `school`.`grade`(`GradeID`,`GradeName`) VALUE (‘7‘,‘大六‘);     (注意数据库名,表名,字段名用 ` ` 括起来,普通的字符串用 ‘ ‘括起来)

UPDATE:更新数据语句

  • 语法 :

    UPDATE 表名 SET column_name=value [,column_name2=value2,...] [WHERE condition];

注意 : 

  • column_name 为要更改的数据列
  • value 为修改后的数据 , 可以为变量 , 具体指 , 表达式或者嵌套的SELECT结果
  • condition 为筛选条件 , 如不指定则修改该表的所有列数据

DELETE:删除数据语句

原文地址:https://www.cnblogs.com/xbfchder/p/11146474.html

时间: 2024-11-02 18:19:52

Mysql的学习3___数据的管理的相关文章

MySQL基础学习之数据查询

一般查询 SELECT * FROM 表名 SELECT 属性名  FROM  表名 条件查询 SELECT 属性名 FROM 表名  WHERE 条件表达式 查询数据值1,数据值2的表单 SELECT *  FROM  表名  WHERE  属性名 [NOT] IN(数据值1,数据值2....) 查询数值1,数据2的表单 SELECT *  FROM  表名  WHERE  属性=值  AND 属性1=值1 查询数值1到数值2之间的表单 SELECT *  FROM  表名  WHERE  属

MySQL基础学习之数据表

查看数据表 SHOW TABLE; 查看数据表详细结构 SHOW CREATE TABLE 表名\G; 创建数据表 CREATE TABLE 表名(数据名 类型,数据名1  类型2); CREATE TABLE department ( d_id INT(10) , d_name VARCHAR(20) , function VARCHAR(20) , address VARCHAR(30) ); 删除数据表 DROP TABLE 表名; 修改数据表 修改数据表名        ALTER TA

MYSQL数据库学习九 数据的操作

9.1 插入数据记录 1. 插入完整或部分数据记录: INSERT INTO table_name(field1,field2,field3,...fieldn) VALUES(value1,value2,value3,...valuen); 插入完整数据记录时可以省略字段参数(field1,field2,field3,...fieldn). 注意:在具体开发中,除了“自动增长”约束的字段不需要插入数值外,具有“默认值”约束的字段也不需要插入数值. 2. 插入多条完整或部分数据记录: INSER

Mysql的学习4____数据的查询

DQL(Data Query Language):数据库查询语言 1.进行简单的单表查询,复杂的多表查询,嵌套查询: /* SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]} FROM table_name [as table_alias] [left | right | inner join table_name2] #联合查询 [WHERE ...]

MySQl Study学习之--MySQl二进制日志管理

MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log):   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库(DML)的语句的执行时间信息    不包含没有修改任何数据的语句,如果需要启用该选项,需要开启通用日志功能    主要目的是尽可能的将数据库恢复到数据库故障点,因为二进制日志包含备份后进行的所有更新    用于在主复制服务器上记录所有将发送

重新学习MySQL数据库3:Mysql存储引擎与数据存储原理

重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有两个词非常容易混淆,也就是数据库和实例: 数据库:物理操作文件系统或其他形式文件类型的集合: 实例:MySQL 数据库由后台线程以及一个共享内存区组成: 对于数据库和实例的定义都来自于 MySQL 技术内幕:InnoDB 存储引擎 一书,想要了解 InnoDB 存储引擎的读者可以阅读这本书籍. 数据

Docker学习第三天(Docker数据卷管理)

1.Docker数据卷管理 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中.目前Docker提供了三种不同的方式将数据从宿主机挂载到容器中: 1.volumes:Docker管理宿主机文件系统的一部分(默认文件位置:/var/lib/docker/volumes) 常用 由上图可知我们到了 /var/lib/docker/volumes 目录下有的文件名很长这时匿名 二有的则是我们创建时制定的 2.

MySQL学习笔记_12_Linux下C++/C连接MySQL数据库(二) --返回数据的SQL

 Linux下C++/C连接MySQL数据库(二) --返回数据的SQL 引: 返回数据的SQL是指通过查询语句从数据库中取出满足条件的数据记录 从MySQL数据库值哦功能检索数据有4个步骤: 1)发出查询 2)检索数据 3)处理数据 4)整理所需要的数据 用mysql_query()发出查询,检索数据可以使用mysql_store_result()或mysql_use_result(),取决与怎样检索数据,接着是调用mysql_fetch_row()来处理数据,最后,还必须调用mysql_

MYSQL数据库学习笔记1

MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 修改表 表的增删查改 查询 数据库概念 数据库是一种对大量信息进行管理的一种方法. 数据库系统从结构上看,也是可以分为三层的: 物理层:数据实际如何存储 逻辑层:存储的是什么数据,以及数据间是什么关系 试图层:提供给用户的部分数据 关系数据库 目前关于数据库模型最主流的有两种, 一种叫做关系型数据库,这