软件测试基础知识——sql之增删改查

删除:
1、delete,可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的.即不会删除表结构
DELETE * FROM table_name
2、drop,通过使用 DROP 语句,可以轻松地删除索引、表和数据库.DROP会 删除表的结构、属性以及索引
DROP TABLE 表名称
3.truncate,删除表内的数据,但并不删除表本身,仅仅删除表格中的数据
TRUNCATE TABLE 表名称
4.delete 和 truncate 的区别:

DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快
删除大量数据时,建议还是用truncate,使用delete会卡死的(不要问我为什么知道~)
新增:
insert into
INSERT INTO 表名称 VALUES (值1, 值2,....)

修改:
1、update
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

2、alter

ALTER TABLE 语句用于在已有的表中添加、修改或删除列
ALTER TABLE table_name
ADD column_name datatype

查询:
1、单表查询:SELECT 列名称 FROM 表名称
2、多表查询:
内连接:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P ;
等同于:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName

左连接:LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

右连接:RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

附上一个很好的学习网站:简明易懂。http://www.w3school.com.cn/sql/sql_create_table.asp
 




猜你喜欢

转载自www.cnblogs.com/ninijiang/p/10913746.html