SQL结构化查询语句

1、通用语法
  • SQL语句可以单行或者多行书写,以逗号结尾
  • 可以使用空格和缩进增强可读性
  • 不区分大小写,但是关键字建议大写
名称解释命令
DDL (数据定义语言 )定义和管理数据对象,如数据库,数据表等create、drop、alter、truncate
DML(数据操作语言)用于操作数据库对象中所包含的数据insert、update、delete
DQL(数据查询语言)用于查询数据库数据select
DCL(数据控制语言)用来管理数据库的语言,包括管理权限及数据更改grant、commit、rollback
2、DDL (数据定义语言 )
数据库
  1. create database [if not exists] 数据库名
    [[default] character set <字符集名>] [[default] collate <校对规则名>];
  2. show databases [like ‘数据库名’]
    like 从句是可选项,用于匹配指定的数据库名称。LIKE 从句可以部分匹配,也可以完全匹配。
  3. alter databases [数据库名] { [ default ] character set <字符集名> |[ default ] collate <校对规则名>}
  4. daop database [if exists] <数据库名>
  5. use <数据库名>
数据表
  1. CREATE TABLE 数据库名.表名(
    列1 INT UNSIGNED NOT NULL,
    列2 FLOAT UNSIGNED NOT NULL,
    列3 TEXT NOT NULL,
    PRIMARY KEY (列1, 列2, 列3),
    CONSTRAINT 外键1 FOREIGN KEY (列1) REFERENCES 000.111(学号)
    ) ENGINE=INNODB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  • 主要是由表创建定义、表选项和分区选项所组成的。
  • 在当前数据库中创建表时,可以省略数据库名。如果使用加引号的识别名,则应对数据库和表名称分别加引号。
  • <表定义选项>:由列名、列的定义以及可能的空值说明、完整性约束或表索引组成。
  1. drop table [if exists] <表名> [ , <表名1> , <表名2>] …
  2. alter table <表名> [修改选项]
  • add <新列名> <数据类型> [约束条件] [first|after 旧列名];
  • drop <列名>
  • modify <列名> <数据类型>
  • change <旧列名> <新列名> <新数据类型>
  • rename <新表名>
2、DML(数据操作语言)
1、插入数据

insert into 表名 [ ( 字段1, 字段2, 字段3, … ) ] values ( ’ 值1’, ’ 值2’, ’ 值3’, …);

  • 字段和值的数据类型要兼容(一致),字段或值之间用英文逗号隔开
  • 没写字段,values 值要匹配一条记录所有的值,顺序一致
  • 写字段,可以写部分字段,顺序可改,values 值要匹配
  • 可同时插入多条数据,每条记录用()括起来,逗号隔开【只在mysql有效】
  • 如果是空字段,在字段列表中写了,但是不想输入具体的值,此时,你可以插入的值为 null
  • 自动增长的字段一般是不写在字段列表中的。如果写了,你必须给值,该值是不能重复的
  • 要先在主键表中插入数据,在插入子表
    insert into 表名set <列名1> = <值1>,<列名2> = <值2>…
    insert into 表名 ( 字段1, 字段2, 字段3, … ) select 字段1, 字段2, 字段3, …from 表名
2、删除数据

delete from 表名 [where 子句] [order by 子句] [limit 子句]

3、修改数据

update 表名 set 列名1=值1,列名2=值2 [where 子句] [order by 子句] [limit 子句]

3、DQL(数据查询语言)
4、DCL(数据控制语言)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值