SQL语句学习(DDL与DML)🎃

225 阅读4分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情

写在前面👀

SQL (Structured Query Language) ,结构化查询语言,用于管理MySQL、Oracle、DB2等关系型数据库(RDBMS,全称Relational Database Management System)

一、初识SQL🤞

1️⃣SQL通用语法✨

  1. SQL语句可以单行或多行书写,以分号;结尾
  2. SQL语句不区分大小写,但建议关键字使用大写
  3. SQL注释写法
    • 单行注释:-- 注释内容 (注意--后面要加空格);#注释内容MySQL写法)
    • 多行注释:/* 注释内容 */

2️⃣SQL分类🎉

  1. DDL(Data Definition Language)

    • 数据定义语言,用来定义数据库对象:数据库,表,列等。关键字:CREATE,DROP,ALTER
  2. DML(Data Manipulation Language)

    • 数据操纵语言,用来对表中数据进行增删改。关键字:INSERT,UPDATE,DELETE
  3. DQL(Data Query Language)

    • 数据查询语言,用来查询表中的记录。关键字:SELECT,WHERE
  4. DCL(Data Control Language)

    • 数据控制语言,用来定义数据库的访问权限和安全级别及创建用户。关键字:GRANT,REVOKE,COMMIT,ROLLBACK

3️⃣CRUD的意思🎊

  1. C(Create):创建
  2. R(Retrieve):查询
  3. U(Update):修改
  4. D(Delete):删除

二、DDL:操作数据库、表📦

1️⃣操作数据库(DATABASE)⚽

  1. 创建:CREATE
CREATE DATABASE 数据库名; # 创建新数据库
CREATE DATABASE IF NOT EXISTS 数据库名; # 判断此数据库是否存在,再决定是否创建
CREATE DATABASE 数据库名 CHARACTER SET 字符集名; # 创建数据库,并指定字符集
  1. 查询:SHOW
SHOW DATABASES; # 查询所有数据库名称
SHOW CREATE DATABASE 数据库名称; # 查询指定数据库的创建语句
  1. 修改:ALTER
ALTER DATABASE 数据库名称 CHARACTER SET 字符集名; # 修改指定数据库的字符集
  1. 删除:DROP 🈲危险操作❗
DROP DATABASE 数据库名; # 删除数据库
DROP DATABASE IF NOT EXISTS 数据库名; # 判断次数据库是否存在,再决定是否删除
  1. 使用:USE
SELECT DATABASE();  # 查询正在使用的数据库
USE 数据库名;       # 使用(进入)指定数据库

2️⃣操作表(TABLE)🏀

  1. 创建:CREATE
  • 注意:最后一列不加逗号,括号后面记得加分号;
/*基本语法*/
CREATE TABLE 表名(
	列名1 数据类型1,
        列名2 数据类型2,
	...
        列名n 数据类型n # 最后一列没有逗号
);
/*复制表*/
CREATE TABLE 表名 LIKE 被复制的表名
  • 举个栗子,创建一个学生表
CREATE TABLE student(
	ID int,           # 学号
    age int,              # 年龄
    name varchar(20),     # 姓名,最多能装下20个字符(20个汉字或20个字母)
    score double(4,1),    # 分数,最大四位数(包括小数位),保留一位小数
    birthday date,        # 生日,以年月日显示
    insert_time timestamp # 数据添加时间,时间戳根据系统当前时间记录
);

image-20220404164016277

  1. 查询:SHOW,DESC
SHOW TABLES;           # 查询某个数据库中的所有表名称
SHOW CREATE TABLE 表名; # 查询指定表的创建语句
DESC 表名;              # 查询表结构
  1. 修改:ALTER
ALTER TABLE 表名 RENAME 新表名;              # 修改表名
ALTER TABLE 表名 CHARACTER SET 字符集名称     # 修改表的字符集
ALTER TABLE 表名 ADD 列名 数据类型            # 添加一列
ALTER TABLE 表名 MODIFY 列名 数据类型         # 修改数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型 # 修改列名和数据类型
ALTER TABLE 表名 DROP 列名                   # 删除列名
  1. 删除:DROP
DROP TABLE 表名; # 删除表
DROP TABLE IF NOT EXISTS 表名; # 判断表是否存在,再决定是否删除

三、DML:增删改表中数据🧾

1️⃣添加数据🏓

  • 注意:除了数字类型的值,其他类型的值都需要用双引号" "单引号''括起来
INSERT INTO 表名 values(值1,值2,...值n); # 不加列名,默认给所有列添加值
INSERT INTO 表名(列名1,列名2,...列名n) values(值1,值2,...值n); # 列名和值要一一对应

2️⃣删除数据🏸

DELETE FROM 表名 [WHERE 条件] # 删除符合WHERE条件的数据
/*删除表中所有记录*/
DELETE FROM 表名    # 不加表名,默认删除表中所有数据,但这种方法要一条一条删记录,效率低
TRUNCATE TABLE 表名 # 先删除原来的表,再建一张相同的表,效率高

3️⃣修改数据🎾

UPDATE 表名 SET 列名1=值1,列名2=值2,...             # 不加WHERE,默认修改表中所有记录
UPDATE 表名 SET 列名1=值1,列名2=值2,...[WHERE 条件] # 修改符合WHERE条件的记录

写在后面🍻

感谢观看啦✨
有什么不足,欢迎指出哦💖
掘金的运营同学审核辛苦了💗