文章目录
数据定义语言DDL【Data Definition Language】
创建数据库的语法:
create database [其他] 数据库名 [设置编码格式];
说明:使用[ ]表示的内容表示可选项。
例如,使用命令创建数据库:
(1)创建一个班级db_student1数据库,且使用默认编码;
(2)创建一个班级db_student2数据库,charset设置编码为utf8.
# 1.创建一个默认编码的数据库
create database db_student1;
# 2.创建一个utf8编码的数据库
create database db_student2 charset utf8;
查看数据库的语法:
# 查看有哪些数据库
show databases;
# 查看数据库的创建语句
show create database 数据库名;
例如,使用命令查看数据库:
(1)查看MySQL服务器中有哪些数据库;
(2)查看创建数据库db_student1的创建语句。
# 1.查看哪些数据库
show databases;
# 2.查看数据库db_student1的创建语句及编码
show create database db_student1;
删除数据库的语法:
drop database 数据库名称;
例如,使用命令来删除数据库db_student1。
drop database db_student1;
数据表【DDL】
数据表操作的命令有:
1: 创建数据表; create
2: 查看数据表; show
3: 删除数据表; drop
4: 修改数据表. alter
创建数据表语法:
create table 表名(
字段名1 数据类型(长度) [约束],
字段名2 数据类型(长度) [约束],
字段名3 数据类型(长度) [约束],
...
);
说明:
(1)常见类型有int、double、varchar(x);
(2)primary key表示主键,使用主键修饰的字段必须保证唯一且非空;
(3)auto_increment表示自动增长,通常为int型的值才能设置为自动增长。
例如,使用创建数据表命令来完成:
(1)创建一个新的查询脚本和新数据库db_user,并在该库中完成创建数据表的操作;
(2)创建字段时,不添加任何[约束]条件;
(3)新建一个用户表user,字段有编号、用户名、昵称;
# 1.新建数据库
create database if not exists db_user charset utf8;
# 2.使用库
use db_user;
# 3.创建数据表
create table user(
id int,
username varchar(20),
nickname varchar(20)
);
查看数据表语法:
# 查看有哪些表
show tables;
# 查看数据表的创建语句
show create table 表名;
# 查看表结构
desc 表名;
删除数据表语法:
drop table 表名;
修改数据表的常用操作:
(1)添加一列 add
(2)修改列类型 modify
(3)修改列名 change
(4)删除一列 drop
(5)修改表名 rename
给数据表添加一列:
alter table 表名 add 列名 类型(长度);
例如,使用命令完成:
(1)创建一个新数据库db_user2,设定默认编码为utf8,并在该库中完成修改数据表的操作;
(2)添加判断语句,新建一张用户表table_user,有用户名、密码这2个字段;
(3)给用户表添加一列信息展示information字段,长度为140;
# 1.新建库
create database if not exists db_user2 charset utf8;
# 使用库
use db_user2;
# 2.创建表
create table if not exists user(
username varchar(20),
password varchar(20)
);
# 3.添加一列
alter table user add information varchar(140);
修改列类型:
alter table 表名 modify 要修改的字段名 类型(长度);
例如,使用命令完成:给用户表的信息字段类型修改为char,长度修改为60。
alter table user modify information char(60);
修改列名:
alter table 表名 change 旧列名 新列名 类型(长度) [约束];
例如,使用命令完成:把用户表的用户名修改为name,字符串类型、长度为18。
alter table user change username name varchar(18);
删除一列:
alter table 表名 drop 列名;
例如,使用命令完成:删除用户表中的年龄这一列。
alter table user drop age;
修改表名:
rename table 表名 to 新表名;
例如,使用命令完成:把用户表的表名更改为table_user。
rename table user to table_user;
数据操作语言DML【Data Manipulation Language】
数据操作命令:
1: 插入数据; insert
2: 删除数据; delete
3: 修改数据. update
插入数据语法:
insert into 表名(字段名1,字段名2,字段名3,...) values(值1,值2,值3,...);
修改数据语法:
update 表名 set 字段名1=值,字段名2=值,字段名3=值,... where 条件;
删除数据语法:
delete from 表名 where 条件;
数据查询语言 DQL (Data Query Language)
简单查询语法:
# 查询表内所有数据
select * from 表名;
# 查询表内数据,以指定的列来显示结果
select [distinct] 字段名1,字段名2,... from 表名;
比较查询语法:
select [*|字段名1, 字段名2, ...] from 表名 where 条件;
在where条件中,使用比较运算符来查询结果。
比较运算符有:
比较运算符 | 含义 |
---|---|
= | 等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
!=或<> | 不等于 |
说明:比较运算符的符号都是英文状态下的符号。
范围查询语法:
(1)in是用于非连续值的范围查询,语法:
select * from 表名 where 字段名 in (范围值1,范围值2,...);
(2)between and 是用于值在连续范围的查询,语法:
select * from 表名 where 字段名 between 范围值1 and 范围值2;
逻辑查询语法:
对数据进行条件筛选处理,通用语法:
select [*|字段名1, 字段名2, ...] from 表名 where 条件;
逻辑运算符有:
逻辑运算符 | 含义 |
---|---|
and | 与、和、且。 1.逻辑运算符and的前后一般是True或False的结果; 2.当两个条件都为True(真),整个操作结果才是True真。 |
or | 或、或者 1.逻辑运算符or的前后一般是True或False的结果; 2.当两个条件都为False(假),整个操作结果才是False假。 |
not | 一般情况下,要设定not取反,对整个操作结果做not处理。 |
模糊查询语法:
select * from 表名 where 字段名 like '%某个字%';
或
select * from 表名 where 字段名 like '某个字_';
说明:%表示任意多个任意字符,_表示一个任意字符。
非空查询语法:
select * from 表名 where 字段名 [条件];
非空运算符有:
非空运算符 | 含义 |
---|---|
is null | 判断为空 |
is not null | 判断为非空 |
说明:此处的等于需要使用is来表示,可以简单的理解为是用于判断null对象。
排序查询语法:
排序查询指的是对某字段进行升序或降序的形式来查询结果,语法:
select * from 表名 where 条件 order by 字段名 [asc|desc];
说明:
(1)asc从小到大排列,即升序;
(2)desc从大到小排序,即降序;
(3)默认按照列值从小到大进行排序(即asc升序)。
聚合查询语法:
select 函数(...) from 表名 [where 条件];
聚合函数有:
聚合函数 | 作用 |
---|---|
count(col) | 用于统计指定列不为null的总数据条数。 |
sum(col) | 用于计算指定列的数值和。 |
max(col) | 用于计算指定列的最大值。 |
min(col) | 用于计算指定列的最小值。 |
avg(col) | 用于计算指定列的平均值。 |
说明:
(1)聚合函数是用于对一列数据进行统计,结果会返回一个单一的值;
(2)注意:聚合函数会忽略空值进行统计处理。
数据控制语言: DCL (Data Control Language)
分页查询语法:
select 字段名1,字段名2,... from 表名 limit M, N;
# M: 整数,表示从第几条索引开始,计算方式:(当前页-1) * 每页显示条数;
# N: 整数,表示查询多少条数据.
说明:
(1)limit是分页查询的关键字;
(2)M为整数,表示从第几条索引开始,默认值是0;
(3)N为整数,表示查询多少条数据。
分组查询语法:
group by语法:
select 字段名1,字段名2,... from 表名 group by 分组字段名 [having 分组条件];
说明:
(1)分组字段名:表示按照指定字段的值进行分组;
(2)group by的作用是实现分组,默认可以实现去重操作;
(3)having分组条件是用来过滤分组后的数据。
使用group by + 聚合函数语法:
select 字段名1,字段名2,聚合函数(...) from 表名 group by 分组字段名;
group by + having的使用:
select 字段名1,字段名2,... from 表名 group by 分组字段名 having 分组条件;
标签:DCL,数据库,DDL,DML,查询,语法,数据表,表名,字段名
From: https://blog.csdn.net/m0_70882914/article/details/140444544