1、增(简单)
INSERT INTO 表名( 名称) VLAUES (‘值’)
eg:INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
2、删(简单)
DELETE FROM 表名 WHERE 条件
3、改(简单)
UPDATE table_name SET field1=new-value1, field2=new-value2
4、查(重点)
(1)简单的查询表
SECLECT * FROM 表名
(2)带条件查询
SELECT 名称 FROM 表名 WHRER 条件
(3)根据当前年份自动算出年龄
select datediff(year,csny,cast(YEAR(GETDATE()) as char))
(4)表的复制
在同一数据库中复制表结构:
select * into a from b where 1<>1
不同数据库之间的复制:
复制结构:
select * into test.dbo.b from GCRT.dbo.page_shsjgrgl where 1<>1
复制内容:
insert into test.dbo.b(xm,ssdq) select xm,ssdq from GCRT.dbo.page_shsjgrgl
(5)查看数据库中所有表含有同一字段的表:
select name from sysobjects where xtype = 'u' and id in(select id from syscolumns where name = '同一字段')
(6)查看数据表中的所有字段:
select name from Syscolumns where id=object_id('表名')
(7)查询数据库时前10条记录:
select top 10 * from td_areacode order by newid()
(8)高级查询
A:UNION运算符(数据来自两个表中的一个)
UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随UNION 一起使用时(即UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1 就是来自TABLE2。
B: EXCEPT运算符(数据在表1而不在表2)
EXCEPT 运算符通过包括所有在TABLE1 中但不在TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。
C:INTERSECT运算符(表一和表二的数据)
INTERSECT 运算符通过只包括TABLE1 和TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当ALL 随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
(9)外连接
A、left outer join:
左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
总结
总之MYSQL的查询语句变化较大,特别是WHERE 后的过滤,一般除了单一的条件之外,还会有多种的条件组合,利用逻辑操作符。(当使用or 和and 操作符时注意用括号,因为and的优先级高,不加括号利用优先级可能出现错误的结果)通配符也是常用在过滤条件中,但是它操作起来可能不能达到所需的结果,就可以使用正则表达式来配合使用,找到所需的查询结果。