MySQL - UNLOCK INSTANCE 语句
MySQL UNLOCK INSTANCE 语句
您可以使用 MySQL LOCK INSTANCE FOR BACKUP 语句创建实例级备份锁。此锁允许在在线备份期间对数据进行操作。这可以防止影响事务一致性的操作。
如果当前会话终止,所有备份实例锁都将被释放。您也可以使用 UNLOCK INSTANCE 语句备份锁实例。
语法
以下是 MySQL UNLOCK INSTANCE 语句的语法 -
UNLOCK INSTANCE
示例
假设我们创建了一个表,其中包含客户的销售详情和联系方式,如下所示 -
CREATE TABLE SALES_DETAILS ( ID INT, ProductName VARCHAR(255), CustomerName VARCHAR(255), DispatchDate date, DeliveryTime time, Price INT, Location VARCHAR(255), CustomerAge INT, CustomrtPhone BIGINT, DispatchAddress VARCHAR(255), Email VARCHAR(50) );
现在,让我们使用 INSERT 语句将 2 条记录插入到上面创建的表中 -
Insert into SALES_DETAILS values (1, 'Key-Board', 'Raja', DATE('2019-09-01'), TIME('11:00:00'), 7000, 'Hyderabad', 25, '9000012345', 'Hyderabad Madhapur', 'pujasharma@gmail.com'), (2, 'Mobile', 'Vanaja', DATE('2019-03-01'), TIME('10:10:52'), 9000, 'Chennai', 30, '9000012365', 'Chennai- TNagar', 'vanajarani@gmail.com');
如果我们想要另一个仅包含客户联系方式的表格,请创建一个表格 -
CREATE TABLE CustContactDetails ( ID INT, Name VARCHAR(255), Age INT, Phone BIGINT, Address VARCHAR(255), Email VARCHAR(50) );
以下查询使用 INSERT INTO SELECT 语句将记录插入 CustContactDetails 表。此处,我们尝试将 SALES_DETAILS 表中的记录插入到 CustContactDetails 表中 -
INSERT INTO CustContactDetails (ID, Name, Age, Phone, Address, Email) SELECT ID, CustomerName, CustomerAge, CustomrtPhone, DispatchAddress, Email FROM SALES_DETAILS WHERE ID = 1 AND CustomerName = 'Raja';
我们插入另一条记录 -
INSERT INTO CustContactDetails (ID, Name, Age, Phone, Address, Email) SELECT ID, CustomerName, CustomerAge, CustomrtPhone, DispatchAddress, Email FROM SALES_DETAILS WHERE ID = 2 AND CustomerName = 'Vanaja';
您可以验证 CustContactDetails 表的内容,如下所示 -
SELECT * FROM CustContactDetails;
输出
以下是上述程序的输出 -
ID | Name | Age | Phone | Address | |
---|---|---|---|---|---|
1 | Raja | 25 | 9000012345 | Hyderabad - Madhapur | pujasharma@gmail.com |
2 | Vanaja | 30 | 9000012365 | Chennai - TNagar | vanajarani@gmail.com |
以下查询集锁定实例,刷新上面创建的表并解锁实例。−
LOCK INSTANCE FOR BACKUP; FLUSH TABLES emp, custcontactdetails WITH READ LOCK; UNLOCK TABLES; UNLOCK INSTANCE;