数据库操作--语法

本文详细介绍了数据库定义语言DDL,包括创建、修改和删除数据库对象的SQL语句,如CREATEDATABASE、CREATETABLE、ALTERTABLE和DROPTABLE,以及DML(数据操作语言)中的INSERT、UPDATE和DELETE操作,以及数据查询语言DQL的基础和关联查询方法。
摘要由CSDN通过智能技术生成

DDL-数据库定义语言

对数据库对象进行操作的语言,涉及的关键字:CREATE,ALTER,DROP

语法

[] 中的内容是可写可不写的,看需求而定

数据库操作

# 创建数据库的语法
CREATE DATABASE [IF NOT EXISTS] 库名 [CHARSET=字符集]

示例:创建一个名为mydb的数据库,字符集为utf8

CREATE DATABASE IF NOT EXISTS mydb CHARSET=utf8 ;

常用的DDL语句

  • 查看已经创建好的数据库
SHOW DATABASES;
  • 使用我们创建的数据库(切换数据库)
use 数据库名
use mydb;
  • 查看某个创建好的数据库信息
show create database 数据库名;
show create database mydb;
  • 删除数据库
drop database 数据库名

数据库表操作

  • 创建一张表语法
    • 当中的约束有就可以加,没有话可以不加
create table [if not exists] 表名(
    字段1名 类型[(长度)] [DEFAULT 默认值] [约束],
    字段2名 类型[(长度)] [DEFAULT 默认值] [约束],
    .....
)[charset = 字符集];

示例:
在数据库mydb下面创建一张user表

use mydb;
create table if not exists user(
    id int primary key ,
    username varchar(20) default null,
    password varchar(20),
    age int(3)
    )charset = utf8;
  • 查看数据库中已经创建好的表
show tables;
  • 查看创建好了表信息
show create table 表名;
  • 查看创建好了的表结构
desc 表名;
  • 修改表名
rename table 原表名 to 新表名;
  • 删除表
drop table if exists 表名

修改表结构

  • 添加一个字段
alter table 表名 add 字段名 类型[(长度)] [default 默认值] [约束];
  • 在表最开始的位置插入一个字段
alter table 表名 add 字段名 类型[(长度)] [default 默认值] [约束] first;
  • 将某个字段添加在某个指点字段之后
alter table 表名 add 字段名 类型[(长度)] [default 默认值] [约束] after 表中某字段;
  • 删除表中字段
alter table 表名 drop 字段名;
  • 修改表中现有字段
alter table 表名 change 原字段名 新字段名 类型[(长度)] [default 默认值] [约束];

DML语言-数据库操作语言

定义

对表中记录进行操作的语言,涉及的操作:

  • INSERT:向表中插入记录的操作
  • UPDATE:修改表中记录的操作
  • DELETE:删除表中记录的操作

插入语句:用于向表中插入某条数据

注意事项

  • 数据库中字符出字面量要使用单引号括起来
  • INSERT语句中VALUES子句执行的值的顺序,个数,类型要与前面指定的字段一致
  • 指定的字段顺序,个数可以与表不一致
  • INSERT语句中没有指明的字段,记录中该字段插入默认值。
  • 如果创建表时字段没有明确指定默认值时,默认值均为NULL
insert into 表名[(字段1,字段2, ....)] values(1,2,.....)

示例:

INSERT INTO person (name,age) VALUES ('张三',22);
INSERT INTO person (age,name) VALUES (33,'李四');
  • 批量插入
INSERT INTO 表名 [(字段1,字段2,...)] VALUES (1,2,3...),(第二组值),(第三组值),...

示例:

INSERT INTO person(name,age) 
VALUES ('阿猫',22),('阿狗',33),('阿三',44)

修改语句:用于修改表中的记录

  • 如果修改的时候没有跟上过滤条件,代表表中的每条记录都要修改,所以我们修改的时候尽量加上过滤条件
update 表名
set 字段1 =1, 字段2 =2, .....
[where 过滤条件]

删除语句:用于删除表中记录

  • 我们删除的时候也跟上过滤条件,不然会把表中的所有记录删除
delete from 表名
[where 过滤条件]

DQL语言-数据查询语言

DQL语言使用检索表中记录的语言

语法

执行顺序优先级

											执行顺序
SELECT 					子句					6
FROM 					子句					1					
JOIN... ON ...			子句					2
WHERE 					子句					3
GROUP BY 				子句					4	
HAVING 					子句					5
ORDER BY 				子句					7
LIMIT 					子句					8

常用DQL语句语法

  • 基础查询
    • WHERE子句用于添加过滤条件,在DQL语句中仅将满足过滤条件的记录查询出来
select 字段1,字段2,...from[where 过滤条件]  # 查出我们指定字段的值
select * from[where 过滤条件] # 查出表中所有的字段的值
  • 连接多个条件
    • AND:“与”,都为真时才为真
    • OR:“或”,都为假时才为假
    • AND的优先级是高于OR的
select * fromwhere 条件1 and 条件2  # 这两个条件都要满足
select * fromwhere 条件1 or 条件2  # 这两个条件满足其一即可
  • 关联查询
select 字段1, 字段2,....
from1 [别名],2 [别名]
where 过滤条件,关联条件
  • 子查询

    • 单行单列子查询:查询结果集就是一个值,常用在DML,DQL中

    • 多行单列子查询:查询结果集有多个值,常用在DML,DQL中

    • 多列子查询:多列子查询(无论单行多行)通常是当作一张表使用。在DQL,DDL中应用

  • 左外连接查询

    • 左连接是以左边的表为驱动表,去连接其他的表
    • 有个特点,当不满足条件的值,会已null补全
select 字段1, 字段2,....
from1 
left join2 on 关联条件
left join3 on 关联条件
where 过滤条件
  • 右外连接
    • 这个是已右边的表为驱动表
select 字段1, 字段2,....
from1 
right join2 on 关联条件
right join3 on 关联条件
where 过滤条件
  • 内连接
select 字段1, 字段2,....
from1 
join2 on 关联条件
join3 on 关联条件
where 过滤条件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值