SQL介绍

什么是SQL?

SQL通用语法

SQL分类

DDL数据定义语言

DDL数据库

查询数据库

创建数据库

修改,删除,使用数据库

DDL数据表

数据表的查询

数据表的创建

数据表的修改(结构上的修改)

数据表的删除

DML数据操作语言

新增表数据

修改、删除表数据


SQL介绍

什么是SQL?

Structured Query Language:结构化查询语言。其实就是定义了操作所有关系型数据库的规则

每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”。

SQL通用语法

SQL 语句可以单行或多行书写,以分号结尾

可使用空格和缩进来增强语句的可读性

MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

数据库的注释:

        单行注释:-- 注释内容   #注释内容(mysql特有)

        多行注释:/* 注释内容 */

SQL分类

DDL(Data Definition Language)数据定义语言

用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等

DML(Data Manipulation Language)数据操作语言

用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等

DQL(Data Query Language)数据查询语言 (最重要!!!)

用来查询数据库中表的记录(数据)。关键字:select, where 等

DCL(Data Control Language)数据控制语言(了解)

用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

DDL数据定义语言

DDL数据库

查询数据库

(1)查询所有数据库 

SHOW DATABASES;

(2)查询某一个数据库的创建语句

SHOW CREATE DATABASE demo;

创建数据库

(1)创建名为demo的数据库

CREATE DATABASE demo;

(2)创建数据库(判断,如果不存在就创建) (exists)

CREATE DATABASE IF NOT EXISTS demo;

如果已经创建过该数据库——demo,程序不会报错,但是会有警告

(3)创建数据库(指定字符集) (character set)

CREATE DATABASE demo01 CHARACTER SET utf8;

警告不用管!这样子就创建了一个名为demo01且字符集为utf8的数据库。

小案例

创建demo02数据库、如果不存在则创建,指定字符集为gbk

CREATE DATABASE IF NOT EXISTS demo02 CHARACTER SET gbk;

可以使用show create database demo02; 查看字符集

修改,删除,使用数据库

(1)修改数据库的字符集  (character set)

ALTER DATABASE demo CHARACTER SET gbk;

上述SQL代码把demo的字符集修改为了gbk

为了加深记忆,我们将其与上述的(3)创建数据库(指定字符集)进行对比

-- 修改数据库的字符集

ALTER DATABASE 数据库名 CHARACTER SET 字符集;

-- 指定字符集创建数据库

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

(2)删除数据库  (drop)

DROP DATABASE demo01;

(3)删除数据库(判断,如果存在则删除) 

DROP DATABASE IF EXISTS demo02;

(4)使用数据库

USE demo;

(4.1)查询正在使用的数据库

SELECT DATABASE();

DDL数据表

数据表的查询

(1)查询所有的数据表

SHOW TABLES;

因为这里的db1数据库中只有一个

(2)查询表的结构  (desc)

DESC student;

表的详细结构信息

(3)查询表的状态信息  (status,like)

SHOW TABLE STATUS FROM 数据库 LIKE '数据表';

SHOW TABLE STATUS FROM db1 LIKE 'student';

数据表的创建

(1)创建数据表

其中约束在后续的章节中详细讲解!

-- 创建商品表(商品编号,商品名称,商品价格,商品库存,上架时间)
CREATE TABLE product(id INT,NAME VARCHAR(20),price DOUBLE,num INT,insert_time DATE
);-- 查看product表的详细结构
DESC product;

(补)数据类型(部分)

1. int:整数类型
2. double:小数类型
3. date:日期,只包含年月日     yyyy-MM-dd
4. datetime:日期,包含年月日时分秒     yyyy-MM-dd HH:mm:ss
5. timestamp:时间戳类型    包含年月日时分秒     yyyy-MM-dd HH:mm:ss    
    如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
6. varchar:字符串

数据表的修改(结构上的修改)

(1)修改表名 (rename to)

将product表的名字改为product2

ALTER TABLE product RENAME TO product2;

(2)修改表的字符集 (character set)

将demo数据库中的product2表的字符集改为utf8.

ALTER TABLE product2 CHARACTER SET utf8;

注:可以和上面再对比一下

-- 修改数据库的字符集

ALTER DATABASE 数据库名 CHARACTER SET 字符集;

-- 指定字符集创建数据库

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

-- 修改表的字符集

ALTER TABLE 表名 CHARACTER SET 字符集;

(3)单独添加一列 (add)

将product2表添加一列color

ALTER TABLE product2 ADD color VARCHAR(10);

(4)修改表某一列的数据类型 (modify)

ALTER TABLE product2 MODIFY color INT;

已经将varchar(10)改为了int数据类型。

(5)修改列名和数据类型 (change)

ALTER TABLE 表名 CHANGE 旧列名 新列名 新列的数据类型;

ALTER TABLE product2 CHANGE color address VARCHAR(200);

(6)删除某一列 (drop)

删除address列

ALTER TABLE product2 DROP address;

数据表的删除

(1)删除数据表

DROP TABLE product2;

(2)删除数据表(判断,存在就删除)

DROP TABLE IF EXISTS product2;

DML数据操作语言

新增表数据

(1)给指定列添加数据

列名和值的数量以及数据类型要对应,除了数值类型,其他的数据类型都要加引号,(单、双都可以,推荐单引号

-- 完整写法

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

INSERT INTO product (id,NAME,price,num) VALUES (100,'张三',5,5);SELECT * FROM product;

注意:

这一种方式添加一行数据,某一个数据项可以没有数据,当对应列名的位置应该去除,如下:

id为100,name为李四,price为空,num为空。

INSERT INTO product (id,NAME) VALUES (100,'李四');

(2)默认给全部列添加数据

-- 省略列名

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

INSERT INTO product VALUES (101,'电脑',9999.99,23);

(3)批量添加数据

-- 多个值之间使用 "," 隔开

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

INSERT INTO product VALUES (101,'电脑',9999.99,23),(102,'笔记本',2.99,2),(103,'电饭煲',99.99,53);          SELECT * FROM product;

修改、删除表数据

(1)修改表中的数据  (update)

UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE条件];

修改语句中必须加条件,如果不加条件,则会将所有数据都修改

UPDATE product SET price=3500 WHERE NAME = '电脑';

将name值为电脑的price值改为3500。

(2)删除表中的数据 (delete)

DELETE FROM 表名 [WHERE 条件];

删除语句中必须加条件,如果不加条件,则会将所有数据都删除。

DELETE FROM product WHERE NAME = '电脑';

将name值为电脑的记录删除了。

MySQL数据库-DDL与DML相关推荐

  1. 死磕数据库系列(二十):MySQL 数据库 DDL、DML、DQL、DCL 语言理论与实践(sql 8.0 版)...

    点关注公众号,回复"1024"获取2TB学习资源! 今天,民工哥带大家一起来学习一下 MySQL 数据库的 DDL.DML.DQL.DCL 这几种语言的理论知识与实践.如有帮助,请 ...

  2. oracle ddl会被什么阻塞,MySQL Online DDL与DML并发阻塞关系总结

    MySQL Online DDL与DML并发阻塞关系总结MySQL DDL操作执行的三种方式 1,INPLACE,在进行DDL操作时,不影响表的读&写,可以正常执行表上的DML操作,避免与CO ...

  3. MySQL的DDL、DML和DQL的基本语法

    定义:  SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一 种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统 ...

  4. mysql数据库DDL,DML,DCL操作

    mysql数据库操作 文章目录 mysql数据库操作 1:mysql工具使用 2:服务器监听的两种socket地址 3:mysql数据库数值类型 4:DDL操作 4.1 数据库操作 4.2:表操作 4 ...

  5. MySQL的 DDL和DML和DQL的基本语法

    前言 SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统,同时 ...

  6. MySQL基础——DDL、DML、DQL、DCL语句

    当成功安装数据库之后,对于数据库进行的简单且基础的操作 打开数据库操作 1.在运行中输入services.msc 会打开如下界面 可以选择对MySQL进行开启或者关闭 2.也可以使用命令指示符 命令提 ...

  7. MySQL中DDL和DML以及DQL的基本语法

    数据库(Database,简称DB):  长期存放在计算机内,有组织.可共享的大量数据的集合,是一个数据"仓库". 数据库里有以下三种基本语法,根据信息可以实现不同的功能: DDL ...

  8. MySql的DDL和DML和DQL的基本语法

    一.DDL (数据定义语言):                 定义和管理数据对象, 如数据库,数据表等                 常见的命令:                          ...

  9. MySQL的DDL、DML、DCL、TCL什么意思?

    SQL语句:结构化查询语句,使用SQL与数据库"沟通",完成相应的数据库操作. 语句分类 DDL(Data Definition Languages)语句:即数据库定义语句,用来创 ...

最新文章

  1. ubuntu装java环境_Ubuntu安装Java环境
  2. mysql非聚集索引区间查询_mysql的聚集索引和非聚集索引,回表查询,索引覆盖,最左前缀原则略解...
  3. 图神经网络世界冠军团队手把手授课,7天搞定图神经网络!
  4. android 文字fly动画,超好看的下拉刷新动画Android代码实现
  5. UI基础:UILabel.UIFont
  6. CodeForces:643(VK cup)
  7. 鸿星尔克与钉钉签署专属音视频合作 全国5千家门店均可接入
  8. springCloud 学习记录过程
  9. C++之关键字(63个)
  10. 马斯克一说特斯拉“全自动驾驶”,大家就想笑
  11. java DataInput接口
  12. 查找所有的两个字姓名,中间加个空格(强迫症的福音)
  13. CSS布局:图片在DIV中上下左右居中(水平和垂直都居中)
  14. 刘意-Java基础视频(基础部分)笔记(一)
  15. 关于网络知识(网络运作方式)的常识
  16. 在校大学生如何规划自己的程序员之路
  17. VelocityTracker 使用
  18. SUBMAIL赛邮云通信短信接口调用教程,一分钟集成
  19. 软件测试-兼容性测试
  20. echarts中国省份地图加城市定位(打点)

热门文章

  1. 金融机构,陆续开始织网!
  2. Element UI进行表单校验的时候,输入正确内容后,还有提示问题
  3. SuSE_Linux_Enterprise_11_SP3_x86_64下载地址
  4. maya腿的蒙皮旋转枢轴_ZBrush和Maya中制作半机械武僧(上)
  5. android清理手机空间
  6. JavaWeb开发大致流程
  7. gnu嵌入汇编,内嵌汇编详细的介绍
  8. 学习Linux二(创建、删除文件和文件夹命令)
  9. easyconnect连接不上服务器
  10. python数据挖掘课程设计——基于数据挖掘的森林火灾预测分析(数据代码+数据分析+数据可视化展示)