DQL:Data QueryLanguage 数据查询语言

作用:   查询表中的字段

命令:   select         查询

⑦select 查询列表
①from 表1 别名
②连接类型 join 表2
③on 连接条件
④where 筛选
⑤group by 分组列表
⑥having 筛选
⑧order by排序列表
⑨limit 起始条目索引,条目数;


 DML:Data Manipulation Language数据操纵语言

作用:对数据库的数据进行相关操作(对表中的记录进行操作)

命令: delete       删除表中一条或多条记录

update     更改表中记录

insert       向表中添加记录.

truncate     清空表

  • delete 语法:

DELETE    FROM    表名      WHERE       列名 = 值

  • update 语法:

UPDATE    表名     SET     列名 = 新值       WHERE       列名称 = 某值

  • insert 语法:

INSERT      INTO      表名(列1,列2,...)     VALUES    (值1,值1,...)

可以省略列名,但是值要和列名的顺序和个数一一对应

  • truncate 语法:

TRUNCATE  table  表名;

  TRUNCATE table  user;

DDL:Data Definition Language数据定义语言

作用:创建表,删除表,定义或改变表的结构、数据类型、表之间的链接、约束

命令:      create        创建表,创建库,复制表

alter           修改表中字段(增加列,更改列,删除列)

drop           删除表

  • create 语法:

创建库

create database 库名

更改库的字符集 CHARACTER字符集
  ALTER DATABASE 库名 CHARACTER SET 字符集;

    ALTER DATABASE books CHARACTER SET gbk;

修改库名 

需要修改:
1.停止MySQL服务
2.修改文件夹名
3.启动MySQL服务

创建表

create table 表名(
列名 列的类型【长度 约束】,
列名 列的类型【长度 约束】,
列名 列的类型【长度 约束】,
...
列名 列的类型【长度 约束】
)

复制表

①仅仅复制表的结构
create table 表名 like 旧表

  CREATE TABLE copy LIKE author;

②复制表的结构+数据
create table 表名 select 查询列表 from 旧表【where筛选】

全部复制

  CREATE TABLE copy2
  SELECT * FROM author;

复制一小部分

CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation='中国';

可以跨库复制表的结构 库名.表名

CREATE TABLE dept2
SELECT department_id,department_name
FROM myemployees.departments;

  • alter 语法:

ALTER TABLE 表名

add|drop|modify|change COLUMN 列名 新的列名 类型【约束】

①修改列名
after table 表名 change column 旧列名 新列名 类型;

  ALTER TABLE user CHANGE COLUMN annual2 pubDate datetime;  

②修改列的类型或约束
after table 表名 modify column 列名 新类型【新约束】

  ALTER TABLE `user` MODIFY COLUMN pubDate TIMESTAMP not null;

③添加新列
after table 表名 add column 列名 类型【(first|after 字段名)控制添加的位置】默认就是在最后

  ALTER TABLE `user` ADD COLUMN annual DOUBLE FIRST;

  ALTER TABLE `user` ADD COLUMN annual2 DOUBLE AFTER id;

  ALTER TABLE test2 ADD COLUMN ddd3 INT last;不支持,默认就是在最后

④删除列
ALTER TABLE 表名 DROP COLUMN 列名;

  ALTER TABLE user DROP COLUMN annual;

⑤修改表名
after table 表名 rename 【to】 新表名;

  ALTER TABLE user RENAME TO book_author;

  • drop 语法:

DROP      table         表名;

IF EXISTS 做判断,仅仅在表的删除和表的创建时使用
exists : 强调的是是否返回结果集,不要求知道返回什么
exists (sql 返回结果集为真) 有
not exists (sql 不返回结果集为真)没有

DROP DATABASE IF EXISTS 旧的库名

CREATE DATABASE 新的库名

DROP TABLE IF EXISTS 旧的表名

CREATE TABLE 新的表名

DCL:Data Control Language 数据控制语言DCL
作用: 数据控制语言DCL用来设置或更改数据库用户或角色权限

命令: grant       授权

revoke    收回已经授予的权限

TCL:Transaction Control Language 事务控制语言TCL
命令:COMMIT                        提交

ROLLBACK                   回滚

SAVEPOINT                  在事务中设置保存点,可以回滚到此处

SET TRANSACTION     改变事务选项

#显示自动提交的状态

  SHOW VARIABLES LIKE 'autocommit';
    autocommit   自动提交
    value on   表示开启

#步骤1:开启事物
set autocommit=0;#禁用自动提交,写了这个就默认开启事物
start transaction;#可选的

#步骤2:编写事物中的SQL语句
(只支持 insert update delete,增删改查才有用。select可以使用但是没什么意义)ddl语言没有事物之说
语句1;
语句2;
...

#步骤3:结束事物
commit;提交事物,没有意外,语句可以全部执行

rollback;回滚事物,有意外回滚,语句不能全部执行(jdbc使用)

SQL语句分类和语法的更多相关文章

  1. 五、mysql中sql语句分类及常用操作

    1.sql语句分类: DQL语句 数据查询语言 select DML语句 数据操作语言 insert delete update DDL语句 数据定义语言 create drop alter TCL语 ...

  2. MySQL(三)之SQL语句分类、基本操作、三大范式

    一.SQL语句的分类     DML(Data Manipulation Langauge,数据操纵/管理语言) (insert,delete,update,select)     DDL(Data ...

  3. MariaDB——SQL语句分类汇总

    常用SQL语句汇总 SQL语句在所有的关系型数据库中都是通用的,算起来sql语句也是一门语言,只不过这门语言的主要操作对象是关系型的数据库,其中最常用的还是查询相关的语句. sql语句主要分为: DQ ...

  4. Oracle中SQL语句分类

    Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlt ...

  5. SQL语句分类

    SQL Structured Query Language SQL是结构化查询语言,是一种用来操作RDBMS的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 ...

  6. oracle Sql语句分类

    dml语句:数据操作语句[insert,update,delete] ddl语句:数据定义语言[create table,drop table] dql语句:数据查询语句[select] dtl语句: ...

  7. oracle中sql语句的to_date语法

    完整日期:TO_DATE('2009-4-28 00:00:00', 'yyyy-mm-dd hh24:mi:ss'); to_date('2008/09/20','yyyy/mm/dd') 创建视图 ...

  8. 1 Oracle概述&与MySQL的差别&SQL语句分类复习

    一. 知识点目录 Oracle的概念和安装 基本查询 条件查询 Oracle中的函数 多表查询 子查询 表空间的状态 用户 视图 索引 序列 同义词 PLSQL编程 游标 存储过程 存储函数 触发器 ...

  9. 常用的sql语句(存储过程语法)

    1.存储过程语法 ①package create or replace package PKG_RPT_WAREHOUSE is -- Author : -- Created : 2018/9/28 ...

随机推荐

  1. Swagger2 @ApiIgnore注解忽略接口在swagger-ui.html中显示

    果项目中定义了一个controller,但是我们又不想把这个接口在swagger-ui.html中体现出来怎么办?不要着急,Swagger2已经替我们想到了这个问题,只要把@ApiIgnore放到你想 ...

  2. Tensor--tensorflow的数据类型

    在tensorflow2.0版本之前,1.x版本的tensorflow的基本数据类型有计算图(Computation Graph)和张量(Tensor)两种,但tensorflow2.0之后的版本取消 ...

  3. 第60届IMO 第5题

    题目   巴斯银行发行的硬币在一面上铸有H,在另一面上铸有T,哈利有枚这样的硬币并将这些硬币从左至 右排成一行,他反复地进行如下操作:如果恰有k(>0)枚硬币H面朝上,则他将从左至右的第k枚硬币 ...

  4. 常用ES6语法总结

    参考链接:http://es6.ruanyifeng.com/ const 声明一个只读的常量. 改变常量的值会报错.只声明不赋值也会报错.只在声明所在的块级作用域内有效.声明的常量不会提升,只能在声 ...

  5. collection和map集合类知识点总结

    collection和map集合类知识点总结 最近在准备java基础知识的总结,发现对于集合类的知识点很多很杂,借鉴网上的帖子,整理如下. 一.定义 集合框架是为表示和操作集合而规定的一种统一的标准的 ...

  6. win10系统中按顺序安装jdk、tomcat

    一.首先安装jdk1.8,重点在于配置环境 安装步骤见另一篇软件安装中的博客 配置环境 1.首先要打开系统环境变量配置的页面.具体操作是:桌面上找到“此电脑”,然后右键 “属性”. 然后打开高级系统配 ...

  7. C++ lambda函数及其用法(转)

    由于接触C++不久,很多东西比较陌生,今天看阿里云OSS的C++ SDK文件下载部分例子,发现有如下lambda表达式用法,故了解一下相关知识 /*获取文件到本地文件*/ GetObjectReque ...

  8. 138.更改session的存储机制

    修改session的存储机制: 默认情况下,session数据时存储到数据库中,当然也可以将session数据存储到其他地方.可以通过设置SESSION_ENGINE来更改session的存储位置,这 ...

  9. overfitting &&underfitting

    1.过拟合 然能完美的拟合模型,但是拟合出来的模型会含有大量的参数,将会是一个含有大量参数的非常庞大的模型,因此不利于实现 1.1解决过拟合的方法 1.1.1 特征选择,通过选取特征变量来减少模型参数 ...

  10. vue制作滚动条幅-跑马灯效果实例代码

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...