结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
数据组织模型
2.语句组成
(1)、数据查询语言(DQL:Data Query Language):
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和 HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
(2)、数据操作语言(DML:Data Manipulation Language):
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
(3)、数据定义语言(DDL):
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
(4)、数据控制语言(DCL):
语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
(5)、指针控制语言(CCL):
语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
使用示例
数据定义语言(DDL):
1.创建数据库:
创建数据库仅需要”数据库名称“信息。
形式化定义:create database 数据库名称
创建语句为:create database tianliang;
显示所有数据库:show databases;
2.选择数据库
一个mysql实例中有多个数据库,在使用mysql时候,必须在某个数据库中做相应的操作。
形式化定义:use 数据库名称
选择数据库的语句:use test_table;
选择数据库之后,之后的操作均是在此数据库中有影响,与别的库没有影响。
3.创建数据表
形式化定义:
CREATE TABLE table_name (column_name_1 column_type,column_name_2 column_type,column_name_3 column_type);
范例:
CREATE TABLE IF NOT EXISTS `student`(
`id` INT UNSIGNED AUTO_INCREMENT,
`stdno` INT UNSIGNED NOT NULL,
`name` VARCHAR(100) NOT NULL,
`classname` VARCHAR(40) NOT NULL,
`come_to_school_date` DATE,
PRIMARY KEY ( `id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;
实例说明:
- IF NOT EXISTS代表如果该库下的该表如果不存在则创建,如果存在该表则语句什么也不做。
- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
- ENGINE 设置存储引擎,不同的存储引擎侧重点不同,如侧重事物安全,或是侧重查询速度等不同,
- CHARSET 设置编码。
4,查看某数据库中有多少张表
show tables;
5,查看数据表结构
形式化定义:desc 表名称
如:desc student;