常用SQL语句学习解释

(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语法知识,若想更深层次的了解,请参阅数据库方面的书籍。

时间: 2024-08-09 14:09:38

常用SQL语句学习解释的相关文章

Oracle常用sql语句

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --) SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要

50个常用sql语句 网上流行的学生选课表的例子_MsSql

50个常用sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1.查询"001"课程比"002"课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where

50个常用sql语句 网上流行的学生选课表的例子

50个常用sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1.查询"001"课程比"002"课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where

DBA常用SQL语句

语句    自己总结的常用SQL语句,发现对自己工作帮助挺大的!   查看表空间的名称及大小: SQL>select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;   查看表空间物理文件的名称及大小:

[SQL Server]管理常用SQL语句

server|语句 [SQL Server]管理常用SQL语句 1. 查看数据库的版本        select @@version 2. 查看数据库所在机器操作系统参数        exec master..xp_msver 3. 查看数据库启动的参数         sp_configure 4. 查看数据库启动时间         select convert(varchar(30),login_time,120) from master..sysprocesses where spi

着急实现-下面的SQL语句怎么解释,详细点,求大神赐教,急急急急急急!!!!!

问题描述 下面的SQL语句怎么解释,详细点,求大神赐教,急急急急急急!!!!! select convert(varchar(2),采集时间,108),count(1) from 监测执行表 (nolock) where 采集时间 > convert(varchar(10),getdate(),120) group by convert(varchar(2),采集时间,108) order by 1 解决方案 采集时间 是今天的,按小时统计数量http://www.w3school.com.cn

常用SQL语句查询分享_MsSql

--创建数据库(文件:主要数据文件mdf==1,次要数据文件ndf>=0,日志文件ldf>=1) --文件组:当1mdf,5个ndf(1,2,2),10个ldf(3,3,4),将它们分成多个组存放 CREATE database studb; --创建表teacher,student create table teacher ( tid int(10) primary key auto_increment, tname varchar(20), tage int(10) ); use stud

mysql命令-常用sql语句命令代码

mysql命令-常用sql语句命令代码 使用G按行垂直显示结果 如果一行很长,需要这行显示的话,看起结果来就非常的难受.在SQL语句或者命令后使用G而不是分号结尾,可以将每一行的值垂直输出.这个可能也是大家对于MySQL最熟悉的区别于其他数据库工具的一个特性了. mysql> select * from db_archivelogG *************************** 1. row ***************************         id: 1  chec

oracle常用sql语句_oracle

正在看的ORACLE教程是:oracle常用sql语句.SQL*Plus system/manager 2.显示当前连接用户 SQL> show user 3.查看系统拥有哪些用户 SQL> select * from all_users; 4.新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5.连接到新用户 SQL> conn a/a