在上一篇博文中写了有关数据库的一些建库建表操作。在这篇文章中对一些数据库的其他操作进行简单介绍。
Alter命令
首先要介绍的是Alter命令。利用Alter命令可以对数据库中已有的表名或字段名进行更改。
修改表名
ALTER TABLE test_table RENAME TO test_table_rename;
上述语句将表test_table改名成了test_table_rename.
添加字段
利用Alter同样可对表扩展字段,如下:
ALTER TABLE test_table_rename ADD information VARCHAR(20);
删除字段
利用Alter对表中字段删除,如下:
ALTER TABLE test_table_rename DROP information ;
修改字段
使用如下语句可对name的存储类型进行修改。
ALTER TABLE test_table_rename MODIFY name VARCHAR(20);
使用如下语句可对name的字段名称和存储类型同时进行修改。
ALTER TABLE test_table_rename CHANGE name student_name VARCHAR(30);
修改完可使用下列语句查看表结构。
SHOW columns FROM test_table_rename;
使用Alter对默认参数进行修改
下列语句对表中字段的缺省值进行了修改。
ALTER TABLE test_table_rename ALTER information SET DEFAULT '无';
下列语句对已有默认缺省值进行了删除
ALTER TABLE test_table_rename ALTER information DROP DEFAULT ;
使用ALTER命令对索引操作
使用Alter命令同样可以对数据表中的索引进行操作。
下列两条删除索引的语句等效。均完成了删除表中名为number_idx索引的操作。
DROP INDEX number_idx ON test_student;
ALTER TABLE test_table_rename DROP INDEX number_idx ;
下面两种建立索引的方式等效。
ALTER TABLE test_table_rename ADD INDEX number_idx(student_name);
CREATE INDEX number_idx ON test_student(number)
同样,利用Alter也可以建立全文索引和Unique索引,如下:
ALTER TABLE test_table_rename ADD FULLTEXT infor_idx(information);
ALTER TABLE test_table_rename ADD UNIQUE infor_idx(information);
数据库基本操作
以下介绍对数据库的基本操作,从增删查改四个方面进行介绍。
增
用insert子句可以完成对表中数据插入的情况,如下:
INSERT INTO test_table_rename(student_name) VALUE ('王昊');
INSERT INTO test_table_rename(student_name,information) VALUES ('王昊','无');
删
用delete子句可以完成删除的操作。如下删除了姓名为王昊的这一条记录。
DELETE FROM test_table_rename WHERE student_name='王昊';
查
查询语句最常使用的便是SELECT语句,使用该语句可以从表中挑选出所想要的对象。如下列语句:
#挑选出所有对象,限制显示前3个
SELECT * FROM test_table_rename LIMIT 3;
#挑选出表中所有对象的学生姓名这一字段
SELECT student_name FROM test_table_rename;
利用WHERE语句可以完成场景更加复杂的查询。
SELECT * FROM test_table_rename WHERE student_name='刘是';
另外,需要指出的是,利用BINARY关键字可以区分大小写,进行查询。如下:
SELECT * FROM test_table_rename WHERE BINARY student_name='Jane';
改
数据库中的修改操作经常使用UPDATE子句进行。
如下修改了姓名为’刘是‘的备注信息,并将其名字改为刘优秀。
UPDATE test_table_rename SET information='优秀',student_name='刘优秀'
WHERE student_name='刘是';
事务
mysql中使用Innodb的数据库引擎时支持事务操作。事务是指将一批有关联的SQL命令一起进行提交。
一般说来,事务必须满足四个条件(ACID):原子性,一致性,独立性,持久性。
原子性
一个事务中所有操作要么全部完成,要么都不完成。
一致性
事务开始之前和事务结束之后,不会破环数据库的完整性。
隔离性
数据库允许多个并发事务同时对数据进行读写和修改的能力。
持久性
事务处理结束后,对数据的修改是永久的,故障情况下也不会丢失。
在MYSQL中,一般使用TRANSACTION显示的开启一个事务。在事务开启之后可以编写一批SQL语句,在之后以COMMIT或COMMIT WORK进行提交。
在编写的过程中,如果出些写入时错误,可以使用ROLLBACK或者ROLLBACK WORK进行撤销。