### SQL语法:数据库语言的核心 SQL(Structured Query Language),即结构化查询语言,是用于管理关系型数据库的标准语言。在数据库领域,SQL扮演着至关重要的角色,它允许用户执行各种操作,包括数据定义、数据操纵、数据控制和数据查询等。 #### 数据定义语言 (Data Definition Language, DDL) 数据定义语言主要用于创建、修改或删除数据库对象,如表、索引、视图等。以下是一些关键的DDL语句: 1. **CREATE TABLE**:用于创建新的表。例如: ```sql CREATE TABLE table_name ( column1 datatype [NOT NULL] [NOT NULL PRIMARY KEY], column2 datatype [NOT NULL], ... ); ``` 在这里,`table_name`是你希望创建的表的名称,`column1`和`column2`是列名,而`datatype`则是列的数据类型。`NOT NULL`表示该列不能包含空值,`PRIMARY KEY`则表示该列是主键,用于唯一标识表中的每一行记录。 2. **ALTER TABLE**:用于修改现有表的结构。例如,添加新列或修改主键。 - 添加新列: ```sql ALTER TABLE table_name ADD COLUMN column_name datatype; ``` - 修改主键: ```sql ALTER TABLE table_name ADD PRIMARY KEY (column_name); ``` 这会将指定的列设置为主键。 - 删除主键: ```sql ALTER TABLE table_name DROP PRIMARY KEY; ``` 3. **DROP TABLE**:用于删除整个表。 ```sql DROP TABLE table_name; ``` 4. **CREATE INDEX**:用于在表上创建索引,以提高查询速度。 ```sql CREATE INDEX index_name ON table_name (column_name); ``` 这将在`column_name`上创建名为`index_name`的索引。 5. **DROP INDEX**:用于删除索引。 ```sql DROP INDEX index_name; ``` #### 数据类型 在SQL中,不同的数据类型用于存储不同类型的信息。以下是一些常见的数据类型: - **Smallint**:16位整数。 - **Integer**:32位整数。 - **Decimal(p, s)**:固定精度小数,其中`p`是总位数,`s`是小数点后的位数。 - **Float**:32位浮点数。 - **Double**:64位浮点数。 - **Char(n)**:固定长度的字符串,`n`是字符数量。 - **Varchar(n)**:可变长度的字符串。 - **Graphic(n)**:与`char(n)`类似,但以双字节字符编码,`n`最大为127。 - **Vargraphic(n)**:与`varchar(n)`类似,使用双字节字符编码。 - **Date**:日期类型,格式通常是YYYY-MM-DD。 - **Time**:时间类型,格式通常是HH:MM:SS。 - **Timestamp**:时间戳类型,精确到毫秒。 #### 数据操纵语言 (Data Manipulation Language, DML) 数据操纵语言用于插入、更新、删除和检索数据。 1. **INSERT INTO**:用于向表中插入新的行。例如: ```sql INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); ``` 2. **SELECT**:用于从表中检索数据。基本的SELECT语句如下: ```sql SELECT column1, column2, ... FROM table_name; ``` 或者选择所有列: ```sql SELECT * FROM table_name WHERE condition; ``` 3. **UPDATE**:用于更新表中的现有行。例如: ```sql UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; ``` 4. **DELETE**:用于从表中删除行。例如: ```sql DELETE FROM table_name WHERE condition; ``` #### 数据查询语言 除了基本的DML操作,SQL还提供了复杂查询的功能,包括聚合函数、连接操作、子查询等。 - **聚合函数**:如`COUNT(*)`计算满足条件的行数,`SUM()`计算列的总和,`AVG()`计算平均值,`MAX()`和`MIN()`分别返回最大值和最小值。 - **GROUP BY**:用于按一个或多个列对结果集进行分组,通常与聚合函数一起使用。 - **HAVING**:与`GROUP BY`结合使用,用于过滤分组后的结果集。 - **JOIN**:用于组合两个或多个表的结果集,根据共同的列进行匹配。 - **IN**:用于测试一个值是否在一系列可能的值中。 - **LIKE**:用于模糊匹配字符串,例如`'%x%'`会找到以'x'为任意位置的字符串。 以上概述了SQL语法的一些基础和关键概念,掌握了这些内容,你就能在处理数据库时更加得心应手。
资料定语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的,举凡资料分哪些表格关系、表格内的有什麽栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的。
1、建表格:
create table table_name(
column1 datatype [not null] [not null primary key],
column2 datatype [not null],
...)
说明:
datatype --是资料的格式,详见表。
nut null --可不可以允许资料有空的(尚未有资料填入)。
primary key --是本表的主键。
2、更改表格
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)
说明:把主键的定义删除。
3、建立索引
create index index_name on table_name (column_name)
说明:对某个表格的栏位建立索引以增加查询时的速度。
4、删除
drop table_name
二、的资料形态 datatypes
smallint
16 位元的整数。
interger
32 位元的整数。
decimal(p,s)
p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数
点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。
float
32位元的实数。
double
64位元的实数。
char(n)
n 长度的字串,n不能超过 254。
varchar(n)
长度不固定且其最大长度为 n 的字串,n不能超过 4000。
graphic(n)
和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为
了支援两个字元长度的字体,例如中文字。
vargraphic(n)
可变长度且其最大长度为 n 的双字元字串,n不能超过 2000。
date
包含了 年份、月份、日期。
time
包含了 小时、分钟、秒。
timestamp
包含了 年、月、日、时、分、秒、千分之一秒。
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助