SQL分类:DDL及DML语言

SQL简介

1、SQL定义:Structured Query Language:结构化查询语言
	*定义了操作所有关系型数据库的规则。
	*每一种数据库操作的方式存在不一样的地方,称为“方言”。
2、SQL通用语法
	*SQL 语句可以单行或多行书写,以分号结尾。
	*可使用空格和缩进来增强语句的可读性。
	*MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
	*3 种注释
		单行注释: -- 注释内容 或 # 注释内容(mysql 特有) 
		多行注释: /* 注释 */	
3、SQL分类
	1) DDL(Data Definition Language)数据定义语言	
		用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
	2) DML(Data Manipulation Language)数据操作语言
		用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
	3) DQL(Data Query Language)数据查询语言
		用来查询数据库中表的记录(数据)。关键字:select, where 等
	4) DCL(Data Control Language)数据控制语言(了解)
		用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

DDL:操作数据库、表

一、操作数据库:CRUD

1. C(Create):创建
		* 创建数据库:
		CREATE DATABASE 数据库名称;
		* 创建数据库,判断不存在,再创建:
		CREATE DATABASE IF NOT EXISTS 数据库名称;
		* 创建数据库,并指定字符集
		CREATE DATABASE 数据库名称 CHARACTER SET 字符集名;
		例: 创建db4数据库,判断是否存在,并制定字符集为gbk
		CREATE DATABASE IF NOT EXISTS test CHARACTER SET gbk;
2. R(Retrieve):查询
		* 查询所有数据库的名称:
		SHOW DATABASES;
		* 查询某个数据库的字符集:查询某个数据库的创建语句
		SHOW CREATE DATABASE 数据库名称;
3. U(Update):修改
		* 修改数据库的字符集
		ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;
4. D(Delete):删除
		* 删除数据库
		DROP DATABASE 数据库名称;
		* 判断数据库存在,存在再删除
		DROP DATABASE IF EXISTS 数据库名称;
5. 使用数据库
		* 查询当前正在使用的数据库名称
		SELECT DATABASE();
		* 使用数据库
		USE 数据库名称;

二、操作表

1. C(Create):创建
			CREATE TABLE 表名(
				列名1 数据类型1,
				列名2 数据类型2,
				....
				列名n 数据类型n
			);
			* 注意:最后一列,不需要加逗号(,)
			* 数据库类型:
				1. int:整数类型
					* age INT,
				2. double:小数类型
					* score DOUBLE(5,2)
				3. date:日期,只包含年月日,yyyy-MM-dd
				4. datetime:日期,包含年月日时分秒	 yyyy-MM-dd HH:mm:ss
				5. timestamp:时间错类型	包含年月日时分秒	 yyyy-MM-dd HH:mm:ss	
					* 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值

				6. varchar:字符串
					* name VARCHAR(20):姓名最大20个字符
					* zhangsan 8个字符  张三 2个字符
			

		* 创建表
			CREATE TABLE student(
				id INT,
				name VARCHAR(32),
				age INT ,
				score DOUBLE(4,1),
				birthday DATE,
				insert_time TIMESTAMP
			);
		* 复制表:
			CREATE TABLE 表名 LIKE 被复制的表名;	  	
	2. R(Retrieve):查询
		* 查询某个数据库中所有的表名称
			SHOW TABLES;
		* 查询表结构
			desc 表名;
	3. U(Update):修改
		1. 修改表名
			ALTER TABLE 表名 RENAME TO 新的表名;
		2. 修改表的字符集
			ALTER TABLE 表名 CHARACTER SET 字符集名称;
		3. 添加一列
			ALTER TABLE 表名 ADD 列名 数据类型;
		4. 修改列名称 类型
			ALTER TABLE 表名 CHANGE 列名 新列别 新数据类型;
			ALTER TABLE 表名 MODIFY 列名 新数据类型;
		5. 删除列
			ALTER TABLE 表名 DROP 列名;
	4. D(Delete):删除
			DROP TABLE 表名;
			DROP TABLE IF EXISTS 表名 ;

DML:增删改表中数据

1. 添加数据:
	* 语法:
		* INSERT INTO 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
	* 注意:
		1. 列名和值要一一对应。
		2. 如果表名后,不定义列名,则默认给所有列添加值
			INSERT INTO 表名 VALUES(值1,值2,...值n);
		3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
2. 删除数据:
	* 语法:
		* DELETE FROM 表名 [WHERE 条件]
	* 注意:
		1. 如果不加条件,则删除表中所有记录。
		2. 如果要删除所有记录
			1. DELETE FROM 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
			2. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
3. 修改数据:
	* 语法:
		* UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2,... [WHERE 条件];

	* 注意:
		1. 如果不加任何条件,则会将表中所有记录全部修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL是Structured Query Language的缩写,意为结构化查询语言,它是一种用于操作关系型数据库的语言SQL允许用户对数据库进行各种操作,包括创建、查询、更新和删除数据等。 根据SQL语句的功能和用途,可以将其分为以下四种类型: 1. DDL(Data Definition Language),即数据定义语言,用于创建和管理数据库中的对象,如表、索引、视图、存储过程等。常见的DDL语句包括:CREATE、ALTER、DROP等。 例如,创建一个名为student的表: ``` CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT, gender VARCHAR(2) ); ``` 2. DML(Data Manipulation Language),即数据操作语言,用于对数据库中的数据进行操作,如插入、更新和删除数据等。常见的DML语句包括:INSERT、UPDATE、DELETE等。 例如,向student表中插入一条记录: ``` INSERT INTO student (id, name, age, gender) VALUES (1, 'Tom', 18, 'M'); ``` 3. DQL(Data Query Language),即数据查询语言,用于查询数据库中的数据。常见的DQL语句包括:SELECT、FROM、WHERE等。 例如,查询student表中的所有记录: ``` SELECT * FROM student; ``` 4. DCL(Data Control Language),即数据控制语言,用于管理数据库的访问权限和安全性,如授权、撤销权限等。常见的DCL语句包括:GRANT、REVOKE等。 例如,授权用户bob访问student表: ``` GRANT SELECT ON student TO bob; ``` 总之,SQL是用于操作关系型数据库的语言,根据功能和用途可以将其分为DDLDML、DQL和DCL四种类型,每种类型语句的作用和用法不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值