mySQL初学者需要掌握的【数据库与表的基本操作】
本内容会持续更新的哦!
注:“字段”=“列”,"记录’’=“行”文章目录
- 一:数据库的基本操作
- 二.数据表的基本操作
- 1.创建与查看数据表![语法图](https://img-blog.csdnimg.cn/20200323204601371.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjA5MDky,size_16,color_FFFFFF,t_70)
- 2.修改数据表
- 1、 修改表名
- 2、 修改字段名
- 3.修改字段的数据类型 ![示例图](https://img-blog.csdnimg.cn/20200324161857774.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjA5MDky,size_16,color_FFFFFF,t_70)
- 4、 添加字段
- 5、删除字段 ![示例图](https://img-blog.csdnimg.cn/20200324170115524.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjA5MDky,size_16,color_FFFFFF,t_70)
- 6、修改字段的排列位置 ![示例图](https://img-blog.csdnimg.cn/20200324171632304.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjA5MDky,size_16,color_FFFFFF,t_70)
- 7.删除数据表 ![示例图](https://img-blog.csdnimg.cn/20200324172509748.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjA5MDky,size_16,color_FFFFFF,t_70)
- 三.表的约束
- 四.设置表的字段值自动增加
- 五.索引
一:数据库的基本操作
二.数据表的基本操作
1.创建与查看数据表![语法图](https://img-blog.csdnimg.cn/20200323204601371.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjA5MDky,size_16,color_FFFFFF,t_70)
2.修改数据表
在 MySQL 中, 修改数据表的操作都是使用 ALTER TABLE 语句。
全部语法:
ALTER TABLE 旧表名 RENAME TO 新表名; //1.修改表名
rename table 旧表名 to 新表名; //1.修改表名
ALTER TABLE 表名 change 旧字段名 新字段名 新数据类型; //2.修改列名
ALTER TABLE 表名 MODIFY 字段名 新数据类型; //3.修改字段的数据类型
ALTER TABLE 表名 ADD 字段名 数据类型 [约束条件][FIRST|AFTER 已存在字段名] ; //4.增加列
ALTER TABLE 表名 DROP 字段名; //5.删除列
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|[AFTER 字段名2]; //6.修改字段的排列位置
DROP TABLE 表名; //7.删除没有关联关系的数据表
ALTER TABLE 表名 CHARACTER SET utf8; //8.修改表的字符集编码
示例:
1、 修改表名
两种方式:
2、 修改字段名
注意:新数据类型不能为空,即使新字段与旧字段的数据类 型相同,也必须将新数据类型设置为与原来一样的数据类型。
3.修改字段的数据类型
4、 添加字段
有两个可选参数:“FIRST"和"AFTER”
"FIRST"即:用于将新添加的字段设置 为表的第一个字段
"AFTER"即:用于将新添加的字段添加到指定的“已存在字段名”的后 面。5、删除字段
6、修改字段的排列位置
7.删除数据表
三.表的约束
为了防止数据表中插入错误的数据,在 MySQL 中,定义了一些维护数据库完整性的规则,即表的约束。
1.主键约束
注意:要保证主键字段里的值非空且唯一
语法:
//添加单字段主键
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20));
//添加多字段主键
CREATE TABLE 表名(
id INT(10),
name VARCHAR(20),
PRIMARY KEY(id,name)
);
//另一种方法添加主键
ALTER TABLE example01 ADD primary key(id) ;
//去除主键
ALTER TABLE example01 DROP primary key;
2.非空约束
语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20) NOT NULL
);
3.唯一约束
语法:
//为字段增加唯一约束方法1
CREATE TABLE 表名(
id INT(10) UNIQUE,
name VARCHAR(20) NOT NULL
);
//为字段增加唯一约束方法2
ALTER TABLE example05 ADD UNIQUE (stu_id);
//去除唯一约束
ALTER TABLE example05 drop index stu_id;
4.默认约束
语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20) ,
position VARCHAR(20) DEFAULT '实习生'
);
四.设置表的字段值自动增加
每次添加记录字段值都会从原来的值上加1,且该字段必须为主键
语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20)
);
五.索引
(1)索引的概念
数据库的索引好比新华字典的音序表,它是对数据库表中一列或多列的值进行排序后的一种结构,其作用就是提高表中数据的查询速度。
索引分类:普通索引 唯一性索引 全文索引 单列索引 多列索引 空间索引
(2)创建索引
一、创建表的时候创建索引
语法: CREATE TABLE 表名( 字段名 数据类型[完整性约束条件], 字段名 数据类型[完整性约束条件], ..... 字段名 数据类型 [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [索引名] (字段名 1 [(长度)]) [ASC|DESC]) );
1、创建普通索引
普通索引是可以由 KEY 或 INDEX 定义的索引,它是 MySQL 中的基本索引类型,可以创建在任何数据类型中,其值是否唯一和非空由字段本身的约束条件所决定。
2、创建唯一性索引
唯一性索引是由 UNIQUE 定义的索引,该索引所在字段的值必须是唯一的。
ASC 和 DESC:可选参数,ASC 表示升序排列,DESC 表示降序排列3、创建全文索引
全文索引是由 FULLTEXT 定义的索引,它只能创建在 CHAR、VARCHAR 或 TEXT 类型的字段上, 而且,现在只有 MyISAM 存储引擎支持全文索引。
4、创建单列索引
即:在表中单个字段上创建索引,以上示例皆为单列索引
5、创建多列索引
多列索引指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时, 该索引才会被使用。
6、创建空间索引
空间索引是由 SPATIAL 定义的索引,它只能创建在空间数据类型的字段上。
MySQL中的空间数据类型有 4 种 : GEOMETRY、POINT、LINESTRING 和 POLYGON。
注意: 创建空间索引的 字段,必须将其声明为 NOT NULL,并且空间索引只能在存储引擎为 MyISAM 的表中创建。
二、使用 CREATE INDEX 语句在已经存在的表上创建索引
语法:
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名 (字段名 [(长度)] [ASC|DESC]);
三、使用 ALTER TABLE 语句在已经存在表上创建索引
语法:
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (字段名 [(长度)] [ASC|DESC])
(3)删除索引
1、使用 ALTER TABLE 删除索引
语法:
ALTER TABLE 表名 DROP INDEX 索引名
2、使用 DROP INDEX 删除索引
语法:
DROP INDEX 索引名 ON 表名;
听说看完这篇的同学,都会往下继续学习的哦!
下一篇《mySQL数据操纵》