数据库基础知识点(2)
来源:互联网 发布:hold the door知乎 编辑:程序博客网 时间:2024/06/06 13:13
表的约束
创建约束的目的:
约束条件都是针对表中字段进行限制,从而保证数据表中的数据正确性和唯一性
约束的条件:
PIMARY KEY(主键)、FOREIGN KEY(外键)、NOT NULL(非空)、UNIQUE(唯一)、DEFAULT(默认)
主键约束:它可以唯一标识表中的记录。
1、单字段主键
格式:字段名 数据类型 PRIMARY KEY
2、多字段主键
**格式:**PRIMARY KEY(字段名1,字段名2,….字段名n)
需要注意的是:每个数据表中最多只能有一个主键约束,定义为PRIMARY KEY的字段不能有重复值且不能为NULL值。
非空约束:指的是字段不能为NULL。
格式:字段名 数据类型 NOT NULL
需要注意的是:在同一个数据表中可以定义多个非空约束。
用于保证数据表中字段的唯一性,即不字段不能重复出现。
格式:字段名 数据类型 UNIQUE;
默认约束:给数据表中的字段指定默认值。
格式:字段名 数据类型 DEFAULT 默认值;
- 设置表的字段值(整数类型的字段)自动增加:使用AUTO_INCREMENT约束来实现。
- -AUTO_INCREMENT可以是任何整数类型。
- -默认从1开始自增
事例:
mysql> create table studentInfo(-> id int PRIMARY KEY ,-> name varchar(20) NOT NULL,-> age int(11));//创建学生信息表 设置id的约束为主键PIMARY KEY,name的约束为非空NOT NULL。
索引
索引的概念
数据库的索引好比新华字典的音序表,它是对数据库表中一列或多列的值进行排序后的
一种结构,其作用就是提高表中数据的查询速度。
MySQL中的索引分为很多种,具体如下:
- 1、普通索引
- 2、唯一性索引
- 3、全文索引
- 4、单列索引
- 5、多列索引
- 6、空间索引
创建索引
创建索引的方式有三种,具体如下:
1、创建表的时候创建索引语法格式:
CREATE TABLE 表名( 字段名 数据类型[完整性约束条件], 字段名 数据类型[完整性约束条件], ...... 字段名 数据类型 [[UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名] (字段名1 [(长度)]) [ASC|DESC])]);
- 关于上述语法的相关解释具体如下:
- UNIQUE:可选参数,表示唯一性约束
- FULLTEXT:可选参数,表示全文约束
- SPATIAL:可选参数,表示空间约束
- INDEX和KEY:用来表示字段的索引,二者选一即可
- 别名:可选参数,表示创建的索引的名称
- 字段名1:指定索引对应字段的名称
- 长度:可选参数,用于表示索引的长度
- ASC和DESC:可选参数,其中,ASC表示升序排列,DESC表示降序排列
2、使用CREATE INDEX 语句在已经存在的表上创建索引语法格式:
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名 (字段名 [(长度)] [ASC|DESC]); create unique index un_id on g1 (id asc);
3、使用ALTER TABLE语句在已经存在表上创建索引 (必须是空表)
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (字段名 [(长度)] [ASC|DESC])
4、删除索引 (必须是空表)
ALTER TABLE 表名 DROP INDEX 索引名 DROP INDEX 索引名 ON 表名;
事例:
mysql> create unique index stu_id on studentInfo(id asc);mysql> create fulltext index stu_name on studentInfo(name asc);//给学生信息表中的id 和 name添加索引。
表记录操作
添加数据(记录)
格式1:
insert into 表名 [(字段名1,字段名2,....)]values(值1,值2,...);例如:insert into tb_name values(1001,'张三',16,95);
格式2:
insert into 表名 set 字段名1=值1,[字段名2=值2,字段名n=值n];insert into tb_name set id=1001,name='张三';
记录删除
delete from 表名称 [where 字段名1=值1 and|or 字段名2=值2 and|or 字段名n=值n];delete from tb_name where id=1002;(删除id=1002的数据)
记录查询
格式:select * from 表名称;
事例:
mysql> insert into studentInfo values(1019,'小李',22);mysql> insert into studentInfo values(1020,'小张',23);//给学生信息表添加一条数据mysql> select * from studentInfo;//查询学生信息表中的记录mysql> delete from studentInfo where id=1019;//删除id为1019的记录。
阅读全文
0 0
- 数据库基础知识点(2)
- Oracle 数据库基础知识点总结(一)
- 数据库基础知识点
- 数据库原理 基础知识点
- Oracle数据库基础知识点
- 基础知识点总结:数据库
- 数据库基础知识点
- Oracle数据库基础知识点
- 数据库基础知识点
- 【数据库】基础知识点
- 数据库的基础知识点提问
- MySQL数据库基础知识点总结
- 数据库知识点总结(2)
- 数据库系统概论基础知识点整理(一)
- 数据库系统概论基础知识点整理(二)
- PLSQL基础知识点总结 (2)
- javascript基础知识点(with)2
- java编程语言基础知识点(2)
- 输出逆序数
- 初学html
- 工厂方法模式
- maven创建父子结构工程
- C语言关于static的解析
- 数据库基础知识点(2)
- Spark面试经典系列之数据倾斜解决方案的“银弹”是什么? 本节我们对Spark数据倾斜解决方案进行回顾和总结
- 设计模式(二十三)interpreter
- 【2-SAT】hihoCoder#1467 音乐节
- 嵌入式面试题
- python异常处理整理
- linux SPI驱动框架(二) -- 设备驱动
- 单例模式
- ndroid系统广播大全及开机自启动的Service