SQL介绍-DDL语句
- 一.SQL简介
-
- 1.简介
- 2.SQL通用语法
- 3.SQL语言的分类
- 二.DDL-操作数据库与表
-
- 1.DDL操作数据库
- 2.DDL操作表
-
- ①.查询表(Retrieve)
- ②.创建表(Create)
- ③.修改表(Update)
- ④.删除表(Delete)
- 三.Navicat的安装与使用
- 四.DML-操作表数据
-
- 1.添加(Insert)
- 2.修改(Update)
- 3.删除(Delete)
- 五.DQL-查询表数据
-
一.SQL简介
1.简介
- SQL: Structured Query Language–结构化查询语言
- 用来操作关系型数据库的编程语言, 定义了关系型数据库的统一标准
- 每一种数据库可能有不一样的语法, 我们称其为"方言"
2.SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾
- MySQL语句不区分大小写, 但是关键字建议用大写
- 注释:
单行注释-- 注释内容
(–后必须有空格)或#注释内容(MySQL特有)
(#后可以没有空格)
多行注释/*注释*/
3.SQL语言的分类
- DDL(Data Definition Laguage)数据定义语言,用来定义数据对象: 数据库, 表, 列等
- DML(Data Manipulation Laguage)数据操作语言, 用来对数据库中表的数据进行增删改
- DQL(Data Query Language)数据查询语言, 用来查询数据库中的记录(数据)
- DCL(Data Control Language)数据控制语言, 用来定义数据库的访问权限和安全级别, 以及创建用户
二.DDL-操作数据库与表
1.DDL操作数据库
动作 |
SQL语句 |
查询数据库 |
SHOW DATABASES; |
创建数据库 |
CREATE DATABASE 数据库名称; |
创建(判断是否已经存在) |
CREATE DATABASE IF NOT EXISTS 数据库名称; |
删除数据库 |
DROP DATABASE 数据库名称; |
删除(判断是否还存在) |
DROP DATABASE IF EXISTS 数据库名称; |
查看当前使用的数据库 |
SELECT DATABASE(); |
使用数据库 |
USE 数据库名称; |
2.DDL操作表
①.查询表(Retrieve)
- 查询当前数据库下所有表的名称
SHOW TABLES;
- 查询表结构
DESC 表名称;
②.创建表(Create)
- 创建表用
CREATE TABLE 表名
来进行创建具体语法如下
create table 表名 (
字段名1 数据类型1,
字段名2 数据类型2,
...,
字段名n 数据类型n
);
- SQL的数据类型基本可以分为三类
数值型
日期型
字符串型
案例练习:
create table student(
id int,
name varchar(10),
gender char(1),
birthday date,
score double(5,2),
email varchar(64),
tel varchar(15),
status tinyint
);
③.修改表(Update)
- 修改表的命令一般以
ALTER TABLE
开头具体可以分为
操作 |
语法 |
修改表名 |
ALTER TABLE 表名 RENAME TO 新表名; |
添加一列 |
ALTER TABLE 表名 ADD 列名 数据类型; |
修改数据类型 |
ALTER TABLE 表名 MODIFY 列名 新数据类型; |
修改列名和数据类型 |
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型; |
删除列 |
ALTER TABLE 表名 DROP 列名; |
④.删除表(Delete)
- 删除表
DROP TABLE 表名;
- 删除时判断是否存在
DROP TABLE IF EXISTS 表名;
三.Navicat的安装与使用
- Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案.
- 它为开发者提供了一款直观而强大的图形界面.
- 官网链接: http://www.navicat.com.cn
安装完成后直接打开,填写需要连接的ip与主机的地址
如果连接过程提示报错,可以参看这个博主的文章
- 登录成功后可以通过Navicat来查看MySQL的数据库了
四.DML-操作表数据
1.添加(Insert)
说明 |
语法 |
给指定的列添加数据 |
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,...)...; |
SELECT
*
FROM
stu;
INSERT INTO stu (id, NAME)
VALUES
(1, '叶子');
INSERT INTO stu
VALUES
(
2,
'老黄',
'男',
'1997-07-24',
99.1,
'[email protected]',
'11929305651',
1
);
INSERT INTO stu
VALUES
(
3,
'罗磊',
'男',
'1997-05-24',
110.1,
'[email protected]',
'11929467551',
1
),(
4,
'娟老师',
'女',
'1999-04-14',
120.1,
'[email protected]',
'1349305651',
1
),(
5,
'雷der',
'男',
'1993-04-24',
130.1,
'[email protected]',
'17629305651',
1
);
SELECT
*
FROM
stu;
2.修改(Update)
- 语法
UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE 条件];
UPDATE stu SET email = '[email protected]' WHERE id=2;
UPDATE stu SET score=100,tel=110,`status`=3 WHERE name='老黄';
3.删除(Delete)
- 与修改相似
DELETE FROM 表名 [WHERE 条件];
DELETE FROM stu WHERE name='雷der';
SELECT * FROM stu;
五.DQL-查询表数据
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段
HAVING
分组后条件
ORDER BY
排序字段
LIMIT
分页限定
1.基础查询
说明 |
语法 |
查询多个字段 |
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据 |
去除重复记录 |
SELECT DISTINCT 字段列表 FROM 表名; |
起别名 |
AS: -- AS也可以省略 |
drop table if exists stu;
CREATE TABLE stu (
id int,
name varchar(20),
age int,
sex varchar(5),
address varchar(100),
math double(5,2),
english double(5,2),
hire_date date
);
INSERT INTO stu(id,NAME,age,sex,address,math,english,hire_date)
VALUES
(1,'马运',55,'男','杭州',66,78,'1995-09-01'),
(2,'马花疼',45,'女','深圳',98,87,'1998-09-01'),
(3,'马斯克',55,'男','香港',56,77,'1999-09-02'),
(4,'柳白',28,'女','湖南',76,65,'1997-09-05'),
(5,'柳青',2,'男','湖南',86,NULL,'1998-09-01'),
(6,'刘德花',57,'男','香港',99,99,'1998-09-01'),
(7,'张学右',22,'女','香港',99,99,'1998-09-01'),
(8,'德玛西亚',18,'男','南京',56,65,'1994-09-02');
SELECT * FROM stu;
B站视频课程
笔记与源码文件