MySQL 基础

本文详细介绍了MySQL中的DDL(数据定义语言)用于创建、修改数据库和表结构,DML(数据操纵语言)涉及插入、更新和删除数据,DQL(数据查询语言)涵盖基本查询、条件查询、聚合函数等。同时讲解了用户管理和权限控制的相关内容。
摘要由CSDN通过智能技术生成

DDL定义语言

DDL语句用于操作数据库,表结构,字段
在这里插入图片描述

1. 数据库操作

我们假设我们有animal数据库中的bird表

a.数据库创建

create database [if not exit]  数据库名 [default charset 字符集例如:utfmb4][collate 排序规则];

b.数据库删除

drop database [if not exit]数据库名;


在这里插入图片描述

c.数据库查询

# 查询所有数据库
show databases;
# 查询当前数据库
select database();


在这里插入图片描述
在这里插入图片描述

d.数据库使用

use 数据库名


在这里插入图片描述
在这里插入图片描述

2. 表操作

a.表创建

注意最后一个字段结尾没有逗号

create table bird(
字段1 type [comment 注释内容],
字段2 type [comment 注释内容]
)[comment 注释内容];

create table bird(
id int comment "编号",
name varchar(50) comment "姓名"
) comment "鸟类";

在这里插入图片描述
下图是MySQL的数值类型在这里插入图片描述
decimal:以123.45为例,精度为5,标度为2
对于年龄,可以使用无符号类型:TINYINT UNSIGNED
对于分数(0.0-100.0)可以确定精度:double(4,1)

字符串类型:
在这里插入图片描述
char和varchar区别
对于char(10),即使我们只存储一个字符,占用空间大小仍为10,使用空格补位。
char性能更高

时间类型在这里插入图片描述

b.表删除

drop table [if exists] 表名;
//清空表,无法撤销
truncate table 表名; 
//清空表
delete from 表名

c.表查询

#查询当前数据所有表
#使用前需用use选择一个数据库
show tables;
#查询表结构,打印字段,类型...
desc 表名;
#查询指定表的建表语句
show create table 表名;

例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

d.表修改

  1. 修改表名
alter table 表名 rename to 新表名
  1. 添加字段
alter table 表名 add 字段名 类型 [comment 注释];


在这里插入图片描述
在这里插入图片描述
3. 删除字段

alter table 表名 drop 字段名;
  1. 修改数据类型
alter table 表名 modify 字段名 新数据类型;
  1. 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型 [comment 注释][约束];

在这里插入图片描述

DML操作语言

完成数据的增删改

1.插入数据insert

insert into 表名(字段1,字段2…)values(值1,值2…),(值1,值2…);
insert into 表名 values (值1,值2…),(值1,值2…);

insert into bird(name) values ('金丝雀'),('麻雀');
insert into bird values (3,'啄木鸟')
select * from  bird;

2.修改数据update

update 表名 set 字段1=值1,字段2=值2 [where 条件];
注意:

  • 可以添加多个字段和值,以改变多个字段
  • 可以不包括where条件,这样则会修改整张表的值
  • 若想删除某一字段值,则可以将其update为null。而delete则为删除整行字段的值
update bird set name = '鹦鹉' where id = 1;

3.删除数据delete

delete from 表名 [where 条件];

delete from bird where id = 2;

DQL 查询语言

基本查询select

选取某几列进行打印。

查询多个字段 
select 字段1 [as 别名1], 字段2 [as 别名1], 字段3 [as 别名1] ...from 表名;
select * from 表名;
#去除重复记录
select distinct 字段 列表 from 表名;

条件查询

根据某一列作为条件,寻找符合条件的行。

select 字段列表 from 表名 where 条件列表;

条件运算符如下图所示
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

聚合函数

获得某一列的统计值。

在这里插入图片描述
select 聚合函数(字段) from 表名;
在这里插入图片描述

分组查询

将列表根据某一列,进行分组。

select 字段列表 from 表名 [where条件] group by 分组字段名 [having 分组后过滤条件]
select s_sex,count(s_sex) from student group by s_sex;
#select关键字后的字段列表名,只能于group by后的分组字段名相关

在这里插入图片描述

排序查询

select 字段列表 from 表名 order by 字段1 排序方式1, 字段2 排序方式2;

asc ; 升序(默认值)
desc : 降序

分页查询

select 字段列表 from 表名 limit 起始索引, 查询记录数;

在这里插入图片描述
在这里插入图片描述

练习

在这里插入图片描述

编写顺序

在这里插入图片描述

DCL用户管理语句

用户管理

在这里插入图片描述

权限控制

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值