说明:新建数据库
westos
中的表格
use westos;
create table linux(
username varchar(50) not null,password varchar(50) noe null);
说明:在
linux
表格中插入信息
insert into linux values('xyy','123');
说明:修改
linux
表格中的信息
update linux set password '456' where username='xyy';
说明:在
linux
表格中添加
age
字段
alter table linux add age varchar(4) a?er username;
说明:在
linux
表格中移除
age
字段
alter table linux drop age;
说明:修改表格名字
alter table linux rename haha;
说明:删除表格中的某一行
delete from haha where username='xyy';
说明:删除表格
drop table haha;
数据库的锁机制:
数据库的大并发要考虑锁和锁的性能问题,加锁是为了实现并发控制。数据库是一个多
用户资源,若对并发控制不加控制会读取和存储不正确的数据,破坏数据的一致性(脏读
不可重复读,幻读等)可能会产生死锁。
锁机制保证在一个事务释放锁之前其他事务不可以进行修改。
锁:行级锁,表级锁,悲观锁,乐观锁
悲观锁:事务每次操作之前假设有其他事务会修改需访问的数据,会要求上锁。
乐观锁:事务每次操作之前假设没有其他事务会修改需访问的数据,不会要求上锁。
共享锁:对某一资源加共享锁,自身可以读该资源,其他人也可以读该资源
共享锁(
S
锁):如果事务
T
对数据
A
加上共享锁后,则其他事务只能对
A
再加共享锁,
不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。
排他锁(
X
锁):如果事务
T
对数据
A
加上排他锁后,则其他事务不能再对
A
加任任何
类型的封锁。获准排他锁的事务既能读数据,又能修改数据。共享锁下其它用户可以并发
读取,查询数据。但不能修改,增加,删除数据。资源共享。
mysql
两种引擎的区别:
Innodb
引擎:提供了对数据库
ACID
事务的支持,并且实现了
sql
标准的四种隔离级别,事
务安全的,支持行级锁,不支持全文索引。
MyIASM
引擎:
mysql
的默认引擎,没有提供对数据库事务的支持,非事务安全的,锁的粒
度是表级的,支持全文索引类型,相对简单性能优。
总结:
MYIASM
管理非事务表,提供高速存储和检索,以及全文搜索能力,如果在应用中执行大
量的
select
操作,应选择
MYIASM
引擎
Innodb
用于事务处理,具有
ACID
事务支持等特性,如果在应用中执行大量的
insert
和
评论