结构化查询语言sql的主要功能,SQL简介及其分类

一.简介

SQL (Structured Query Language,结构化查询语言,简称 SQL)是用于访问和处理数据库的标准的计算机语言。一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。

通用语法

SQL 语句既可以单行书写也可以多行书写,以分号结尾。

大小写不敏感,但关键字建议使用大写。

注释:单行注释: — 注释内容(–后面一定要加空格) (MySQL下也可以用#注释内容)

多行注释: /* 注释 */

SQL分类

DDL(Data Definition Language) : 数据定义语言,用来定义数据库对象:数据库,表,列等

DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改

DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)

DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

二.DDL:操作数据库

查询所有的数据库

SHOW DATABASES;

创建数据库:

CREATE DATABASE 数据库名称;CREATE DATABASE IF NOT EXISTS 数据库名称; — 创建数据库(先判断,如果不存在则创建)

删除数据库

DROP DATABASE 数据库名称;DROP DATABASE IF EXISTS 数据库名称; — 删除数据库(先判断,如果存在则删除)

使用数据库

数据库创建好后,要在数据库中创建表,得先明确在哪儿个数据库中操作,此时就需要使用数据库。

USE 数据库名称;

查看当前使用的数据库

SELECT DATABASE();三.DDL:操作表

操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)。

查询当前数据库下所有表名称

SHOW TABLES;

查询表结构

DESC 表名称;

创建表

CREATE TABLE 表名 ( 字段名1 数据类型1, 字段名2 数据类型2, … 字段名n 数据类型n — 最后一行末尾,不能加逗号);

数据类型

MySQL 支持多种类型,可以分为三类:

数值tinyint : 小整数型,占一个字节int : 大整数类型,占四个字节 double : 浮点类型 使用格式: 字段名 double(总长度,小数点后保留的位数)例如 : amount double(5,2)日期date : 日期值。只包含年月日datetime : 混合日期和时间值。包含年月日时分秒字符串char : 定长字符串。 优点:存储性能高 缺点:浪费空间例如: name char(10) 如果存储的数据字符个数不足10个,也会占10个的空间varchar : 变长字符串。 优点:节约空间 缺点:存储性能底例如 : name varchar(10) 如果存储的数据字符个数不足10个,那就数据字符个数是几就占几个的空间

删除表

DROP TABLE 表名;

删除表时判断表是否存在

DROP TABLE IF EXISTS 表名;

修改表名

ALTER TABLE 表名 RENAME TO 新的表名;

添加一列

ALTER TABLE 表名 ADD 列名 数据类型;

修改数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型;

修改列名和数据类型

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

删除列

ALTER TABLE 表名 DROP 列名;四.DML

对数据进行增(insert)删(delete)改(update)操作。

给指定列添加数据

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

给全部列添加数据

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

批量添加数据

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

修改表数据

UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ; –修改语句中如果不加条件,则将所有数据都修改

删除数据

DELETE FROM 表名 [WHERE 条件] ;

本文地址:https://www.cknow.cn/archives/18538

以上内容源自互联网,由百科助手整理汇总,其目的在于收集传播生活技巧,行业技能,本网站不对其真实性、可靠性承担任何法律责任。特此声明!

如发现本站文章存在版权问题,烦请提供版权疑问、侵权链接、联系方式等信息发邮件至candieraddenipc92@gmail.com,我们将及时沟通与处理。