이 기사는 주로 mysql 데이터 테이블 작업 예제에 대한 자세한 설명을 공유합니다. 먼저 데이터 테이블을 만드는 방법을 살펴보겠습니다.
Create table
create table 【if not exists】 表名 (字段列表 【,索引或约束列表】) 【表选项列表】;
필드 이름 유형 [필드 속성 1 필드 속성 2 ….. 】
지침:
1. 필드 이름을 직접 선택할 수 있습니다.
2. 유형은 이전에 학습한 데이터 유형(int, Tinyint, float, double, char(6), varchar(25), text)입니다.
3. 특정 필요에 따라 공백으로 직접 구분된 여러 필드 속성이 있을 수 있습니다. 주요 속성은 다음과 같습니다. 정수 유형의 경우 이 필드의 값이 자동으로 증분 값을 얻을 수 있습니다. 일반적으로 테이블의 첫 번째 필드를 설정하는 데 사용되며 일반적으로 기본 키로 사용됩니다.
기본 키: | 이때 해당 필드의 값은 기본 키로 사용됩니다. 필드는 데이터의 "고유" 행일 수 있습니다. |
고유 키:
필드를 "고유", 즉 반복되지 않도록 설정합니다. |
| not null:
은 필드가 null(null)이 될 수 없도록 설정하는 데 사용됩니다. 설정되지 않으면 기본적으로 null이 허용됩니다. |
| comment:
필드 설명 텍스트 |
|
Index
|
인덱스는 시스템 내에서 자동으로 유지 관리되는 숨겨진 "데이터 테이블"입니다. 그 기능은 데이터 검색 속도를 크게 높이는 것입니다. |
이 숨겨진 데이터 테이블에는 데이터가 자동으로 정렬되어 있으며, 이를 기준으로 검색 속도가 결정됩니다. |
|
형식은 다음과 같습니다.
일반 색인
키(필드 이름)그냥 색인입니다. 다른 기능은 없어요 , 검색 속도만 높일 수 있습니다 | | 고유 인덱스 | 고유 키(필드 이름)
는 인덱스이며 해당 필드의 값을 반복되지 않도록 설정할 수도 있습니다(고유성) | 기본 key index | primary key (필드 이름) ) | 은 인덱스이며, 테이블의 모든 데이터 행을 구별하는 기능도 있습니다(실제로는 고유합니다). 실제로는 고유 인덱스보다 조금 더 많은 기능이 있습니다. : 고유성은 비워둘 수 있지만 기본 키는 비워둘 수 없습니다.
| 전체 텍스트 색인 | 전체 텍스트(필드 이름) |
| 외래 키 색인 | 외래 키(필드 이름) |
참조 다른 테이블(다른 테이블의 필드 이름에 해당) | 索引创建语法:
外键索引:
foreign key (字段名) references 其他表(对应其他表中的字段名); 로그인 후 복사 外键:表中的一个字段不是本表的主键或候选键,而是另一个表的主键或候选键。
候选键或候选键:如果一个表中具有能够唯一标识的一个行的属性,则称为候选键,候选键中任选一个为主键。
示例:
注意: 插入xuesheng表中的数据时,banji_id字段的值,就不可以随便插入了,而是必须是banji表中的id字段所已经有的数据值,才可以插入。
全文索引:仅做了解,因为对中文还不够友好 一、概述
MySQL中的全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。
二、语法
MATCH (col1,col2,...) AGAINST (expr [search_modifier])
search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION }
例如:SELECT * FROM tab_name WHERE MATCH (col1,col2) AGAINST (search_word);
这里的table需要是MyISAM类型的表,col1、col2需要是char、varchar或text类型,在查询之前需要在col1和col2上建立一个全文索引。
约束约束,就是要求数据需要满足什么条件的一种“规定”。
约束类型 | 形式 | 含义 |
---|
主键约束 | primary key ( 字段名) | 使该设定字段的值可以用于“唯一确定一行数据”,其实就是“主键”的意思。 | 唯一约束 | unique key ( 字段名) | 使该设定字段的值具有“唯一性”,自然也是可区分的。 | 外键约束 | foreign key ( 字段名) references 其他表名(对应其他表中的字段名) | 使该设定字段的值,必须在其谁定的对应表中的对应字段中已经有该值了。 | 非空约束 | not null | 其实就是设定一个字段时写的那个“not null”属性。这个约束只能写在字段属性上 | 默认约束 | default XX值 | 其实就是设定一个字段时写的那个“default 默认值”属性,这个约束只能写在字段属性上。 | 检查约束 | check(某种判断语句) |
|
比如: create table tab1 (
age tinyint,check (age>=0 and age <100) /*这就是检查约束*/
)#目前相关版本还不支持,就是说只分析,但会被忽略。 로그인 후 복사 其实,主键约束,唯一约束,外键约束,只是“同一件事情的2个不同角度的说法”,他们同时也称为“主键索引”,“唯一索引”,“外键索引”。
表选项列表
表选项就是,创建一个表的时候,对该表的整体设定,主要有如下几个:
1、 charset = 要使用的字符编码,
2、 engine = 要使用的存储引擎(也叫表类型),
3、auto_increment = 设定当前表的自增长字段的初始值,默认是1
4、comment =‘该表的一些说明文字’
说明:
1,设定的字符编码是为了跟数据库设定的不一样。如果一样,就不需要设定了:因为其会自动使用数据库级别的设定;
2,engine(存储引擎)在代码层面,就是一个名词:InnoDB, MyIsam, BDB, archive, Memory。默认是InnoDB。
存储引擎
存储引擎是将数据存储到硬盘的“机制”。
不同的存储引擎,其实主要是从2个大的层面来设计存储机制:
选择不同的存储引擎,就是上述性能和功能的“权衡”。
大体如下:
演示:
修改表
几点说明:
修改表,是指修改表的结构——正如创建表也是设定表的结构。
创建表能做的事,修改表几乎都能做——但很不推荐去修改表,而是应该在创建表的时候就基本确定表的结构。
大体来说: 1:可以对字段进行:添加,删除,修改; 2:可以对索引进行:添加,删除
表的选项,通常“都是修改”,即使不写任何表选项,他们都有其默认值。
常见几个:
操作类型 |
表达式 |
添加字段 |
alter table 表名 add [column] 新字段名 字段类型 [字段属性列表] |
修改字段(并可改名) |
alter table 表名 change [column] 旧字段名 新字段名 新字段类型 [新字段属性列表] |
删除字段 |
alter table 表名 drop [column] 字段名 |
添加普通索引 |
alter table 表名 add key [索引名] (字段名1[,字段名2,…]) |
添加唯一索引(约束) |
alter table 表名 add unique key (字段名1[,字段名2,…]) |
添加主键索引(约束) |
alter table 表名 add primary key (字段名1[,字段名2,…]) |
修改表名 |
alter table 旧表名 rename [to] 新表名 |
删除表 |
drop table 【if exists】 表名 |
其他表的相关语句:
操作类型 |
表达式 |
显示当前数据库中的所有表 |
show tables |
显示某表的结构 |
desc 表名; 或:describe 表名 |
显示某表的创建语句 |
show create table 表名 |
重命名表 |
rename table 旧表名 to 新表名 |
从已有表复制表结构 |
create table [if not exists] 新表名 like 原表名 |
演示复制表结构:
相关推荐:
查看MySQL数据表的索引方法
MySQL数据表的创建、查看、插入实例详解
关于MySQL数据表操作的详解
|
위 내용은 mysql 데이터 테이블 작업 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!