SQL常用语句:
CREATE DATABASE 库名;创建数据库
DROP DATABASE库名; 删除数据库
USE 库名;
(1) 数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" ORDER BY 用于对结果集进行排序
sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" LIKE 用于在 WHERE 子句中搜索列中的指定模式。
sql="select * from 数据表 where 字段名 not like '%字段值%' order by 字段名 [desc]" NOT 用于在select数据时,查询不在哪一个数据范围的的记录
sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" TOP 用于规定要返回的记录的数目。
sql="select * from 数据表 where 字段名 in ('值1','值2','值3')" IN确定给定的值是否与子查询或列表中的值相匹配。
sql="select * from 数据表 where 字段名 between 值1 and 值2" BETWEEN ... AND... 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
(2) 更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名)得出一个表格栏平均值
SELECT AVG(column_name) FROM table_name
COUNT(*¦字段名) 对数据行数的统计或对某一栏有值的数据行数统计
SELECT COUNT(column_name) FROM table_name
MAX(字段名) 取得一个表格栏最大的值
SELECT MAX(column_name) FROM table_name
MIN(字段名) 取得一个表格栏最小的值
SELECT MIN(column_name) FROM table_name
SUM(字段名) 把数据栏的值相加
SELECT SUM(column_name) FROM table_name
(6) 数据表的建立和删除:
创建:
CREATE TABLE 数据表(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE
TABLE classTab(name varchar(50),datetime default now())
删除:
DROP TABLE 数据表 删除内容和定义,释放空间(清空表)
TRUNCATE TABLE 数据表 删除内容、释放空间但不删除定义(清空表数据, 不能删除行数据)
DELETE TABLE 数据表 删除内容不删除定义,不释放空间(系统一行一行地删,效率较truncate低)
关于truncate的总结:
truncate table在功能上与不带WHERE子句的delete语句相同:二者均删除表中的全部行。
但truncate比delete速度快,且使用的系统和事务日志资源少。
delete语句每次删除一行,并在事务日志中为所删除的每行记录一项。所以可以对delete操作进行roll back
1、truncate在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而truncate则不会被撤销。2、truncate是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对truncate使用ROLLBACK命令。3、truncate将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过truncate操作后的表比Delete操作后的表要快得多。4、truncate不能触发任何Delete触发器。5、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。6、不能清空父表