MYSQL数据库学习五 表的操作和约束
5.1 表的基本概念
表示包含数据库中所有数据的数据库对象。一行代表唯一的记录,一列代表记录的一个字段。
- 列(Columns):属性列,创建表时必须指定列名和数据类型。
- 索引(Indexes):根据指定列建立起来的顺序,提供了快速访问数据的途径。
- 触发器(Triggers):用户定义的事务命令的集合。
5.2 表的操作
创建表
CREATE TABLE table_name(
属性名 数据类型,
属性名 数据类型,
.
.
.
属性名 数据类型
);
查看表定义
DESCRIBE table_name;
查看表详细定义
SHOW CREATE TABLE table_name\G
注意:sql语句可以使用";","\g","\G"符号来结束,使用"\G"可以使结果显示更加美观。
删除表
DROP TABLE table_name;
修改表名
ALRET TABLE old_table_name RENAME [TO] new_table_name;
增加字段
ALERT TABLE table_name
ADD 属性名 数据类型;//在表的最后一个位置增加字段
ALERT TABLE table_name
ADD 属性名 数据类型 FIRST;//在表的第一个位置增加字段
ALERT TABLE table_name
ADD 属性名 数据类型
AFTER 属性名;//在表的最后一个位置增加字段
删除字段
ALERT TABLE table_name
DROP 属性名;
修改字段
ALERT TABLE table_name
MODIFY 属性名 数据类型;//修改字段的数据类型
ALERT TABLE table_name
CHANGE 旧属性名 新属性名 旧数据类型;//修改字段的名字
ALERT TABLE table_name
MODIFY 旧属性名 新属性名 旧数据类型 新数据类型;//修改字段的名字和属性
修改字段的顺序
ALERT TABLE table_name
MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;
5.3 操作表的约束
5.3.1 MySQL支持的完整性约束
完整性是指数据的准确性和一致性。MySQL提供了一致机制来检查数据库表中的数据是否满足规定的条件,以保证数据库表中数据的准确性和一致性,这种机制就是约束。
| 完整性约束关键字 | 含义 |
| NOT NULL | 约束字段的值不为空 |
| DEFAULT | 设置字段的默认值 |
| UNIQUE KEY(UK) | 约束字段的值是唯一 |
| PRIMARY KEY(PK) | 约束字段为表的主键,可以作为改表记录的唯一标识 |
| AUTO_INCREAMENT | 约束字段的值为自动增加 |
| FOREIGN KEY(FK) | 约束字段为表的外键 |
注意:在为约束设置标识符时,推荐使用“约束缩写_字段名”。例如uk_uname。
1. 设置主键约束:
CREATE TABLE table_name(
属性名 数据类型 PRIMY KEY,//单字段主键
......
); CREATE TABLE table_name(
属性名 数据类型,
......
【CONSTRAINT 约束名】 PRIMARY KEY(属性名1,属性名2),//属性1和属性2为联合主键
);
2.设置外键约束:
子表中某个字段的取值由父表决定。例如,表示每个部门有多个雇员,有雇员表和部门表,雇员表(字表)中有一个表示部门编号的字段depno(外键),其依赖于部门表(父表)的主键。
CREATE TABLE table_name(
属性名 数据类型,
......
CONSTRAINT 外键约束名 FOREIGN KEY(属性名1)
REFFERENCES 表名(属性名2)
);
属性名1为子表中设置外键的字段名,属性名2为父表中设置主键约束的字段名。
MYSQL数据库学习五 表的操作和约束的更多相关文章
- Mysql数据库 的库表简易操作
一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8; charset uft8 可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...
- socketserver模块、MySQL(数据库、数据表的操作)
一.socketserver实现并发 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环. socketserver模块中分两大类:server类(解决链接问题)和request类(解决 ...
- 黑马MySQL数据库学习day02 表数据CRUD 约束CRUD
/* 基础查询练习: 1.字段列表查询 当查询全部字段时,一种简便方式,使用*代替全部字段(企业中不推荐使用) 2.去除重复行 DISTINCT,注意修饰的是行,也就是整个字段列表,而不是单个字段. ...
- MYSQL数据库学习八 触发器的操作
8.1 触发器 在表发生更改时,自动进行一些处理.例如,学生表中每增加一条关于学生记录时,学生的总数就必须同时改变,同时需要检查电话号码格式是否正确,地址缩写是否正确. 以下语句会激活触发器: DEL ...
- MYSQL数据库学习七 视图的操作
7.1 视图 视图使程序员只关心感兴趣的某些特定数据和他们所负责的特定任务.提高了数据库中数据的安全性. 视图的特点如下: 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系. 视图是由基 ...
- MYSQL数据库学习六 索引的操作
6.1 索引 由于数据存储在数据库表中,所以索引是创建在数据库表对象上的,由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过索引可以快速有效地查找与键值相关联的字段.根 ...
- MYSQL数据库学习九 数据的操作
9.1 插入数据记录 1. 插入完整或部分数据记录: INSERT INTO table_name(field1,field2,field3,...fieldn) VALUES(value1,valu ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL/MariaDB数据库的多表查询操作
MySQL/MariaDB数据库的多表查询操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.单表查询小试牛刀 [root@node105.yinzhengjie.org.cn ...
随机推荐
- 八爪鱼采集器︱加载更多、再显示20条图文教程(Xpatth、Ajax)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 由于代码布置采集器比较麻烦,又很早知道八爪鱼采 ...
- HI3531例子程序说明
Hisilicon Hi35xx 样例程序使用说明 1. 样例程序文件结构说明 sample # MPP 样例程序 |-- common # hi35x ...
- 项目部署到Tomcat报错
1.今天晚上,我想把dojo项目部署到Tomcat中,结果发现部署不了,Tomcat报错.而且,这个错误白天时也碰到了. 错误具体详细如下: Publishing failed with multip ...
- free 或delete后指针怎么样了
free()和delete()只是把指针所指向的内存释放掉,但是并没有把指针本身删除,也没有把指针置为NULL; #include<iostream> using namespace st ...
- freemarker之include指令
freemarker之include指令 1.父页面ftl <html> <head> <meta http-equiv="content-type" ...
- INS-20802
1.错误描述 2.错误原因 安装的是64位数据库,由于在设置数据库配置密码时用的是数字开头,取消时出现这个错误 3.解决办法 重新安装Oracle
- DirectX:在graph自动连线中加入自定义filter(graph中遍历filter)
为客户提供的视频播放的filter的测试程序中,采用正向手动连接的方式(http://blog.csdn.net/mao0514/article/details/40535791),由于不同的视频压缩 ...
- 【原】Java学习笔记031 - 常用类
package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 类 Math: ...
- IO网络模型
多路处理模型MPM MPM是Apache2引入的一个概念,就是将结构模块化.把核心任务处理作为一个可插拔的模块,使其能针对不同的环境进行优化 在这个情况下,就诞生出了处理模式的概念 Prefork 实 ...
- css补充
(一)水平对齐1.使用margin属性水平对齐可通过将左和右外边距设置为 "auto",来对齐块元素.除非已经声明了 !DOCTYPE,否则使用 margin:auto 在 IE8 ...