新增(INSERT)
**新增语法:**
INSERT [INTO] 表名 [(字段列表)] VALUES (值列表)[, (值列表),...](新增一条)
INSERT [INTO] 表名 SET 字段名=值[, 字段名=值, ...](新增多条)
-- 如果要插入的值列表包含所有字段并且顺序一致,则可以省略字段列表。
-- 可同时插入多条数据记录!
REPLACE 与 INSERT 加粗样式完全一样,可互换。
例子:insert into Student(Sno,Sname,Ssex,Sbirthday,class) values ('108','曾华','男','1977-09-01','95033');
删除(DELETE)
**删除语法:**
DELETE FROM 表名[(WHERE)删除条件子句]
没有条件子句,则会删除全部
例子:delete from Student where Sno='108';
修改(UPDATE)
**修改语法:**
UPDATE 表名 SET 字段名=新值[, 字段名=新值] [更新条件]
例子:update Student set Sname='张三' where Sno='108';
查询(SELECT)
**查询语法:**
SELECT 字段列表 FROM 表名[ 其他子句]
-- 可来自多个表的多个字段
-- 其他子句可以不使用
-- 字段列表可以用*代替,表示所有字段
例子:select * from Student;
Mysql索引
**1.什么是索引:**
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的 特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获 取信息。(通俗点索引就类似于书的目录) [1]
**2.索引的作用:**
索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。
**3.索引的类型:**
(1)主键索引:数据库表经常有一列或多列组合,其值唯一标识表中的每一行。
(2)B树索引(常见索引):B树是一种数据结构,它按排序顺序在其节点中存储数据。
(3)位图索引:位图索引是一种使用位图的特殊数据库索引。
(4)反向键索引:反向键索引也是B树索引的特例索引,它是按照数据字节反转排列的。
(5)全文索引:将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后 对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。
**4.索引的优缺点:**
优点:
*在设计数据库时,通过创建一个惟一的索引,能够在索引和信息之间形成一对一的映射式的对应关系,增加数据的惟一性特点。
*能提高数据的搜索及检索速度,符合数据库建立的初衷。
*在信息检索过程中,若使用分组及排序子句进行时,通过建立索引能有效的减少检索过程中所需的分组及排序时间,提高检索效率。 [2]
缺点:
*在数据库建立过程中,需花费较多的时间去建立并维护索引,特别是随着数据总量的增加,所花费的时间将不断递增。
*在数据库中创建的索引需要占用一定的物理存储空间,这其中就包括数据表所占的数据空间以及所创建的每一个索引所占用的物理空间,如果有必要建立起聚簇索引,所占用的空间还将进一步的增加
*在对表中的数据进行修改时,例如对其进行增加、删除或者是修改操作时,索引还需要进行动态的维护,这给数据库的维护速度带来了一定的麻烦。
MySQL事务
**1.什么是事务:**
是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。
**2.索引的作用:**
为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。
**3.事务的性质:**
(1)原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。
(2)一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束。
(3)隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。
(4)持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中。
如果数据很少的情况下 完全不用
并不是
索引要根据表的实际数据情况而定
如果需要索引种类、数量多那么就多 创建
否则可以少创建索引 甚至不用