MySql新手入门的基本操作汇总

库操作

查询

1.show database; —-查询所有数据库

2.show create database 数据库名称; —-查询某个数据库的创建模式

3.show create database xxx; —-查询xxx数据库的创建模式

创建

1.create database 数据库名称; —-创建数据库
注:不可以创建一个已经存在的数据库

2.create database is not exists 数据库名称; —-判断数据库是否存在,不存在就创建

3.create database 数据库名称 character set 字符集名称; —-创建数据库并指定字符集,一般使用utf-8

修改

alter database 数据库名称 character set 字符集名称; —-修改数据库的字符集

删除

1.drop database 数据库名称; —-删除数据库

2.drop database is exists 数据库名称; —-先判断是否存在再删除

使用

selete database (); —-查询当前正在使用的数据库

use 数据库名称; —-使用指定数据库

表结构

表的查询

1.show tables; —-查询数据库中所有的表

2.desc 表名; —-查看指定表的结构

3.show table status from 库名 like ‘表名’; —-查询表字符集(like没有特别情况下和”=”号是等价的)

创建表

create table 表名(
列名1 数据类型1 约束,
列名2 数据类型2 约束,

列名n 数据类型n约束
);

int:整数类型

  • age int

double:小数类型

  • score double(5,2)
  • price double

date:日期,只包含年月日 yyyy-mm-dd

datetime:日期,包含年月日时分秒 yyyy-mm-dd hh:mm:ss

timestamp:时间戳类型 包含年月日时分秒 yyyy-mm-dd hh:mm:ss

  • 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值

varchar:字符串

  • name varchar(20):姓名最大20个字符
  • zhangsan 8个字符 张三 2个字符

create table 要创建的表名 like 被复制的表名; —-复制表

修改表

1.alter table 表名 rename to 新的表名; —-修改表名

2.alter table 表名 character set 字符集名称; —-修改表的字符集

**3.**alter table 表名 add 列名 数据类型; —-添加新的一列

4.alter table 表名 modify 列名 新列名 新数据类型; —-修改新列名和数据类型

表中删除操作

1.drop table 表名; —-删除表

2.alter table 表名 drop 列名; —-删除列

表中添加数据-insert语句

1.insert into 表名(列名1,列名2,…) values (值1,值2,…); —-向表中添
加数据

2.select * from product; —-查看表中所有数据

3.insert into 表名 values (值1,值2,值3,…); —-默认给全部列添加数据

4.insert into 表名 values (值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…); —-批量添加数据

注:

  • 列名和值的数量以及数据类型要对应
  • 除了数字类型,其他数据类型的数据都需要加引号(单引双引都可以,推荐单引)

表中修改数据-updata

update 表名 set 列名1 = 值1,列名2 = 值2,… [where 条件];
注:

  • 修改语句中必须加上条件,如果不加条件则修改所有数据

表中删除数据-delete

delete from 表名 [where 条件];

注:

  • 和修改数据是一样的

单表查询

查询语法:

select

字段列表

from

表名列表

where

条件列表

group by

分组字段

having

分组之后的条件

order by

排序

limit

分页限定

select 列名1,列名2,… from 表名; —-多个字段查询

select distinct 列名1,列名2,… from 表名; —-去重查询,但只有所查询列都重复才会去重

select 列名1 运算符(+ – * /) 列名2 from 表名; —-四则运算

select 列名1,列名2,… as 别名 from 表名; —-as用来起别名,简单易懂

条件查询

条件分类

符号 功能
> 大于
< 小于
>= 大于等于
<= 小于等于
= 等于
<> 或 != 不等于
between … and … 在某个范围之内(都包含)
in(…) 多选一
like 占位符 模糊查询 _单个任意字符 %多个任意字符
is null 是null
is not null 不是null
and 或 && 并且
or 或 || 或者
not 或 ! 非,不是

聚合函数

函数名称及其功能

函数名 功能
count(列名) 统计数量(一般选用不为null的列)
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名) 平均值

聚合函数语法

-- 标准语法
select 函数名(列名) from 表名 [where 条件];

-- 计算product表中总记录条数
select count(*) from product;

-- 获取最高价格
select max(price) from product;
-- 获取最高价格的商品名称
select name,price from product where price = (select max(price) from product);

-- 获取最低库存
select min(stock) from product;
-- 获取最低库存的商品名称
select name,stock from product where stock = (select min(stock) from product);

-- 获取总库存数量
select sum(stock) from product;
-- 获取品牌为苹果的总库存数量
select sum(stock) from product where brand='苹果';

-- 获取品牌为小米的平均商品价格
select avg(price) from product where brand='小米';

排序查询

分类

关键字 功能
order by 列名1 排序方式1,列名2 排序方式2 对指定列排序,asc升序(默认的) desc降序

– 注:多个排序条件,当前边的条件值一样时,才会判断第二条件

排序语法

-- 标准语法
select 列名 from 表名 [where 条件] order by 列名1 排序方式1,列名2 排序方式2;

-- 按照库存升序排序
select * from product order by stock asc;

分组查询

-- 标准语法
select 列名 from 表名 [where 条件] group by 分组列名 [having 分组后条件过滤] [order by 排序列名 排序方式];

分页查询

-- 标准语法
select 列名 from 表名 [where 条件] group by 分组列名 [having 分组后条件过滤] [order by 排序列名 排序方式] limit 开始索引,查询条数;
-- 公式:开始索引 = (当前页码-1) * 每页显示的条数

约束

1.约束的概念和分类

约束的概念

  • 对表中的数据进行限定,保证数据的正确性、有效性、完整性!

约束的分类

约束 说明
primary key 主键约束
primary key auto_increment 主键、自动增长
unique 唯一约束
not null 非空约束
foreign key 外键约束
foreign key on update cascade 外键级联更新
foreign key on delete cascade 外键级联删除

2.主键约束

主键约束特点

  • 主键约束包含:非空和唯一两个功能
  • 一张表只能有一个列作为主键
  • 主键一般用于表中数据的唯一标识

建表时添加主键约束

-- 标准语法
create table 表名(
	列名 数据类型 primary key,
    列名 数据类型,
    ...
);

-- 创建student表
create table student(
	id int primary key  -- 给id添加主键约束
);

-- 添加数据
insert into student values (1),(2);
-- 主键默认唯一,添加重复数据,会报错
insert into student values (2);
-- 主键默认非空,不能添加null的数据
insert into student values (null);

-- 查询student表
select * from student;
-- 查询student表详细
desc student;

删除主键

-- 标准语法
alter table 表名 drop primary key;

-- 删除主键
alter table student drop primary key;

建表后单独添加主键

-- 标准语法
alter table 表名 modify 列名 数据类型 primary key;

-- 添加主键
alter table student modify id int primary key;

3.主键自动增长约束

建表时添加主键自增约束

-- 标准语法
create table 表名(
	列名 数据类型 primary key auto_increment,
    列名 数据类型,
    ...
);

-- 创建student2表
create table student2(
	id int primary key auto_increment    -- 给id添加主键自增约束
);

-- 添加数据
insert into student2 values (1),(2);
-- 添加null值,会自动增长
insert into student2 values (null),(null);

-- 查询student2表
select * from student2;
-- student2表详细
desc student2;

删除自动增长

-- 标准语法
alter table 表名 modify 列名 数据类型;

-- 删除自动增长
alter table student2 modify id int;

建表后单独添加自动增长

-- 标准语法
alter table 表名 modify 列名 数据类型 auto_increment;

-- 添加自动增长
alter table student2 modify id int auto_increment;

4.唯一约束

建表时添加唯一约束

-- 标准语法
create table 表名(
	列名 数据类型 unique,
    列名 数据类型,
    ...
);

-- 创建student3表
create table student3(
	id int primary key auto_increment,
	tel varchar(20) unique    -- 给tel列添加唯一约束
);

-- 添加数据
insert into student3 values (null,'18888888888'),(null,'18666666666');
-- 添加重复数据,会报错
insert into student3 values (null,'18666666666');

-- 查询student3数据表
select * from student3;
-- student3表详细
desc student3;

删除唯一约束

-- 标准语法
alter table 表名 drop index 列名;

-- 删除唯一约束
alter table student3 drop index tel;

建表后单独添加唯一约束

-- 标准语法
alter table 表名 modify 列名 数据类型 unique;

-- 添加唯一约束
alter table student3 modify tel varchar(20) unique;

5.非空约束

建表时添加非空约束

-- 标准语法
create table 表名(
	列名 数据类型 not null,
    列名 数据类型,
    ...
);

-- 创建student4表
create table student4(
	id int primary key auto_increment,
	name varchar(20) not null    -- 给name添加非空约束
);

-- 添加数据
insert into student4 values (null,'张三'),(null,'李四');
-- 添加null值,会报错
insert into student4 values (null,null);

删除非空约束

-- 标准语法
alter table 表名 modify 列名 数据类型;

-- 删除非空约束
alter table student4 modify name varchar(20);

建表后单独添加非空约束

 -- 标准语法
 alter table 表名 modify 列名 数据类型 not null
 
 -- 添加非空约束
 alter table student4 modify name varchar(20) not null;

外键约束

外键约束的格式(一般在创建表的最后写这些)

constraint 外键名 foreign key (本表外键列名) references 主表名(主表主键列名)

总结

到此这篇关于mysql新手入门的基本操作汇总的文章就介绍到这了,更多相关mysql基本操作内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐