四:SQL语句介绍
前言:介绍SQL语句及其大致的分类
一:SQL语句介绍(Structured SQL Lanage)
结构化的查询语言
是一种特殊的编程语言
是一种数据库查询和程序设计语言
用于存取数据及查询、更新和管理关系型数据库系统
同时也是数据库脚本文件的扩展名
二:SQL的语句结构分类
1)DQL:数据查询语言
也称为数据检索语句,用以从表中获得数据,确定数据怎样在应用程序给出。
保留字SELECT是DQL中用的最多的动词,
其它保留字有WHERE;ORDER BY;HAVING等
2)DML:数据操作语言
其语句包括动词INSERT;UPDATE和DELETE.分别用于添加更新和删除表中的行
也称为动作查询语言
3)TPL:事务处理语言
它的语句能确保DML语句影响的表的所有行及时得到更新。
TPL语句包括BEGIN TRANSACTION COMMIT ROLLBACK
4)DCL:数据控制语言
它的语句通过GRANT或REVOKE获得许可
确定单个和用户组对数据库对象的访问
有的其他关系型数据库用来对表单个列的访问
5)DDL:数据定义语言
其语句包括动词CREATE和DROP。
在数据库中创建或删除表,为表加入索引等
DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分
6)CCL:数据库控制语言
它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT
用于对一个或多个表单独行的操作。
三:查看代码
--创建一个数据库 database_test
CREATE DATABASE database_test;
--创建一个表 student
USE database_test;--首先要选择使用一个数据库 CREATE TABLE student(--DDL
s_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '这是主键,自增长' ,
s_name VARCHAR(15) NOT NULL COMMENT '这是学生姓名,非空',
s_gender VARCHAR(1) NOT NULL COMMENT '这是学生性别非空',
s_address VARCHAR(100) COMMENT '这是学生住址'
); --插入一条数据
INSERT INTO student VALUES(NULL,'马化腾','男','广东深圳');--DML
--再插入一条数据
INSERT INTO student (s_name,s_gender) VALUES('马云','男');
--插入多条记录
INSERT INTO student (s_name,s_gender)VALUES('刘强东','男'),('雷军','男'),('章泽天','女'); --修改表结构,给表添加一列 s_age
ALTER TABLE student ADD s_age INT COMMENT '这是学生的年龄';
--我希望s_age这一列在s_name后面
ALTER TABLE student MODIFY s_age INT AFTER s_name;
--添加一列 s_major 并指定其位置
ALTER TABLE student ADD s_major VARCHAR(50) COMMENT '这是学生的专业' AFTER s_gender;
--删除一个列 s_address
ALTER TABLE student DROP COLUMN s_address;
--我想把s_gender改成s_sex,并将数据类型改为 CHAR
ALTER TABLE student CHANGE s_gender s_sex CHAR; --查询student表中的所有数据
SELECT * FROM student;--DQL
四:SQL语句介绍的更多相关文章
- 初学者SQL语句介绍
初学者SQL语句介绍 1.用 Select 子句检索记录 Select 子句是每一个检索数据的查询核心.它告诉数据库引擎返回什么字段. Select 子句的常见形式是: S ...
- 03- 基本的SQL语句介绍
01 库的操作新增库create database db1 charset utf8; # 由于在my.ini中已经配置了字符集,所以,charset utf8可以不写 查库# 查看当前创建的数据库s ...
- 精妙SQL语句介绍
说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL ...
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句
MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- [SQL]SQL语言入门级教材_SQL语言基本语句介绍(四)
SQL语言基本语句介绍 • 表的建立 关系数据库的主要特点之一就是用表的方式组织数据.表是SQL语言存放数据.查找数据以及更新数据的基本数据结构.在SQL语言中,表有严格的定义,它是一种二维表,对于这 ...
- SQL优化的四个方面,缓存,表结构,索引,SQL语句
一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所 ...
- 优化的四个方面,缓存,表结构,索引,SQL语句
一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所 ...
- [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
随机推荐
- native-echarts 在安卓上无法显示出来
1.native-echarts 的配置是百度echarts 2.模拟器上试了很多次都显示不出来(具体不清楚,我的是这样) 3.真机测试可以显示图表,以下是配置: a.将node_modules\na ...
- D.出题人的手环
链接:https://ac.nowcoder.com/acm/contest/358/D 题意: 出题人的妹子送了出题人一个手环,这个手环上有 n 个珠子,每个珠子上有一个数. 有一天,出题人和妹子分 ...
- 洛谷 P1121 环状最大两段子段和
https://www.luogu.org/problemnew/show/P1121 不会做啊... 看题解讲的: 答案的两段可能有两种情况:一是同时包含第1和第n个,2是不同时包含第1和第n个 对 ...
- MySQL之select简单使用
Select * from table_name Select column_name_1,column_name_2 from table_name Select * from student wh ...
- 转 如何诊断和解决high version count 10.2.0.4 and 11.2.0.4
转自 http://blog.csdn.net/notbaron/article/details/50927492 在Oracle 10g以上的版本,High version count可谓是一个臭名 ...
- 将Form以强类型Model提交,后台获取不到的问题
F.TextBoxFor(m => m.Name) 不能自定ID属性
- Android 权限的实现
1. 权限 每个程序在安装时都有建立一个系统ID,如app_15,用以保护数据不被其它应用获取.Android根据不同的用户和组,分配不同权限,比如访问SD卡,访问网络等等.底层映射为Linux ...
- php通过类名查找这个类所在的路径(即实际引用的是哪个类)
实际上就是应用了类的反射机制 class a{ public $a; protected $b; private $c; } $func = new ReflectionClass('a'); //所 ...
- MySQL存储过程(批量生成论坛中发帖、回帖、主题等数据)
USE 数据库名称1;DROP PROCEDURE IF EXISTS 数据库名称1.存储过程名称;delimiter $$CREATE PROCEDURE 数据库名称1.存储过程名称(in v_co ...
- 快速生成导入亿级测试数据到sqlserver
如果采用insert into 循环一条一条插入速度比较慢 可以先将数据插入临时表,然后在临时表数据量到达批量插入的行数时执行例如:目标表 (col1,col2,col3) --根据目标表结构复制一个 ...