select 列名 from 表名
select * from table1
select lastname,firstname from Persons
select * from table1 where city=‘BeiJing’
引号的使用:我们在例子中的条件值周围使用的是单引号
SQL使用单引号来环绕文本值(大本分数据库系统也接受双引号)。如果是数值,请不要使用引号。
在表中可能包含重复值。这并不成问题,不过,有时候只希望仅仅列出不同(distinct)的值
select distinct 列名 from 表名
select distinct company from table1
AND 和OR
显示所有名字为Thomas并且姓是Carter的人
select * from Persons where firstname='Thomas' AND lastname='Carter'
注意select *from Persons where id=1 and id=2是查询不到数据的 id能为(1并且2)
order by 语句用于对结果进行排序
select city,age from table_1 order by city
select city,age from table_1 order by city desc,age asc以字母逆序显示城市名称,并以年龄顺序显示
insert into用于向表格中插入新的行
insert into 表名 values(值1,值2)
如insert into table_1 values(‘Gates’,‘Bill’,‘宣武门10’,‘北京’)
也可以指定所要插入数据的列:
insert into table_1(列1,列2,列3)values(值1,值2,值3)
insert into table_1(lastname,address)values(‘wilson’,‘champs-elysees’)
update 用来修改表中的数据
update 表名 set列名=新值 where列名=旧值
update table_1 set address = ‘zhongshan23’,city=‘nanjing’where lastname=‘wilson’
delete删除表中的行
delete from 表名 where 列名=值
delete * from table_1 在不删除表的情况下删除表中所有行
SQL对大小写不敏感!
SQL DML(data manipulation language 数据操纵语言)和DDL(data manipulation language数据定义语言)
区别:DML操作是可以手动控制事务的开启、提交和回滚的,DDL操作是隐形提交的,不能rollback!
SQL(结构化查询语言)是用于执行查询的语法,但是SQL语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了SQL的DML部分:
select update insert delete
SQL的数据定义语言(DDL)部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以施加表之间的约束。
SQL中最重要的DDL语句:
create database 创建新数据库
alter database修改数据库
create table创建新表
alter table更改数据库表
drop table删除表
create index创建索引(搜索键)
drop index删除索引
Top子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,top子句是非常有用的。并非所有数据库都支持top子句。
select top number|percent column_name(s) from table_name
select 2 * from persons从上面的persons表中选取头两头记录
select top 50 percent * from persons从persons表中选取50%的记录。
Like操作符用于在where子句中搜索列中的指定模式
select * from persons where city like '%lon%'
select * from persons where city not like '%lon%'
通配符
在搜索数据库中的数据时,SQL通配符可以代替一个或多个字符。
SQL通配符必须与LIKE运算符一起使用
在SQL中可使用以下通配符
%替代一个或多个字符
_仅替代一个字符
[charlist]字符列中的任何单一字符
[^charlist]t或者[!charlist] 不在字符列中的任何单一字符
select * from persons where lastname like 'C_r_er'
select * from persons where city like '[!ALN]%'