一.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的数据类型基本可以分为三类
数值型
日期型
字符串型
案例练习:
文章来源:https://www.toymoban.com/news/detail-616744.html
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 表名(列名1,列名2,...) VALUES(值1,值2,...);
INSERT INTO stu (id, NAME) VALUES (1, '叶子');
-- 给所有列添加数据(可以省略列名的列表)INSERT INTO 表名 VALUES(值1,值2,...);
INSERT INTO stu
VALUES (2,'老黄','男','1997-07-24',99.1,'14587138@qq.com','11929305651',1);
-- 批量添加,其实就是把之前的括号中的内容多次执行
INSERT INTO stu
VALUES
(3,'罗磊','男','1997-05-24',110.1,'14333138@qq.com','11929467551',1),
(4,'娟老师','女','1999-04-14',120.1,'556587138@qq.com','1349305651',1),
(5,'雷der','男','1993-04-24',130.1,'16487138@qq.com','17629305651',1);
SELECT * FROM stu;
2.修改(Update)
- 语法
UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE 条件];
-- 将表中 老黄的邮箱改为163邮箱
UPDATE stu SET email = 'finsq@163.com' WHERE id=2;
-- 将表中老黄的分数改为100,电话改为110,状态改为3
UPDATE stu SET score=100,tel=110,`status`=3 WHERE name='老黄';
-- 注意:如果update语句中不添加where条件,则会修改表中的所有数据!!!!
3.删除(Delete)
- 与修改相似
DELETE FROM 表名 [WHERE 条件];
-- 删除表中 '雷der'相关的数据
DELETE FROM stu WHERE name='雷der';
SELECT * FROM stu;
-- 如果不加where限制会清除所有表数据
B站视频课程
笔记与源码文件文章来源地址https://www.toymoban.com/news/detail-616744.html
到了这里,关于[JavaWeb]SQL介绍-DDL-DML的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!