常用SQL语句学习解释
2024-07-21 02:12:18
供稿:网友
(1) 数据定义语言(ddl)
数据定义语言用来定义数据库的各级模式。常用关键字有:create(建立数据表)、alter(更改数据表)、drop(删除数据表)。
建立数据表
create table table_name(
column1 datatype [not null] [not null primary key],
column2 datatype [not null],
...
)
说明:上面的datatype 指的是字段的类型,nut null 指是否为空,primary key 指本表的主键。
建立索引
create index index_name on table_name (column_name)
说明:为数据表格的某个字段建立索引以增加查询时的速度。
更改数据表
alter table table_name add column column_name datatype
说明:增加一个字段。
alter table table_name add primary key (column_name)
说明:将某个字段设为主键。
alter table table_name drop primary key (column_name)
说明:将某个字段的主键定义取消。
删除数据表
drop table_name
drop index_name
(2) 数据操作语言(dml)
数据操作语言(dml)用于操作数据表,如增加、删除、查询、修改等。常用关键字有:insert(插入数据)、delete(删除数据)、select(查询数据)和updata(修改数据)。
插入数据
insert into table_name(column1,column2,...) values (value1,value2, ...)
说明:在插入语句中,若不指明要插入字段则,按表中的字段顺序依次插入。另外,插入数据的类型应和所插入字段的类型相匹配。
insert into table_name (column1,column2,...) select columnx,columny,...
from another_table
说明:通过一个子查询将别的表格相应字段的值插入该表格。
删除数据
delete from table_name where conditions
说明:删除符合条件的记录。
查询数据
select column1,columns2,... from table_name
说明:把table_name 的相应字段查询出来。
select * from table_name where column1 = x and column2 > y
说明:这是一个带有条件的查询语句,'*'表示查询所有的字段,where 之后是条件表达式。
select column1,column2 from table_name order by column2 [desc]
说明:order by 是指定以某个字段排序,[desc]是指从大到小排列,若没有指明,则是从小到大排列。
select * from table1,table2 where table1.colum1=table2.column1
说明:这是一个组合查询,查询两个表格中 column1 字段具有相同值的记录。作为两个表中建立关系的字段,其类型必须匹配。
select count (*) from table_name where column_name = x
说明:查询符合条件的记录数。
select sum(column1) from table_name
说明:计算column1字段的数据总和。除了sum之外,还可以用avg()计算平均值 、用max()计算最大值、用min()计算最小值。
select * from table_name1 where exists (select * from table_name2 where
conditions)
说明:这条查询语句用一个子查询语句作为该查询语句的条件。exists指是否存在。
select * from table_name1 where column1 in (select column1 from
table_name2 where conditions )
说明:in后面接的是一个集合,表示将column1字段的值在集合中的所有记录从table_name1表中选出来。
select * from table_name1 where column1 like 'x%'
说明:该语句为模糊查询。这里的“%”是一个通配符,表示将column1字段中以x开头的所有记录选出来。
select * from table_name1 where column1 between x and y
说明:between 表示 column1 的值介于 x 和 y之间。
更改资料
update table_name set column1='x' where conditions
说明:该语句表示在某种条件下将column1字段的值改为x。若不加条件,则默认该字段全部更改。
以上是最基本的sql语法知识,若想更深层次的了解,请参阅数据库方面的书籍。
注册会员,创建你的web开发资料库,