Mysql数据库 sql语句的使用(命令行)

说明:以下使用方法在系统命令行中的使用,登录数据库后的操作也可在数据库管理图形界面的新建查询中操作。
如在navicat中
在这里插入图片描述

MySQL的使用

1. 登录数据库

mysql -h服务器地址 -u用户名 -p(回车+密码)
也可直接-p密码

C:\Users\11371>mysql -hlocalhost -uroot -p
Enter password: **********

C:\Users\11371>mysql -hlocalhost -uroot -pyourpassword

2. 退出数据库

exit
在这里插入图片描述

3. 数据库的备份和恢复

- 备份

exit数据库后,输入
mysqldump -h服务地地址 -u用户名 -p(密码回车后写) 数据库名 > 数据备份路径
在这里插入图片描述

- 恢复

即新建一个数据库时,导入数据到该数据库
mysql -u用户名 -p(密码回车后写) 新数据库名 < 数据路径

创建新的数据库:
在这里插入图片描述将数据恢复到新数据库中:
在这里插入图片描述
查看恢复后的数据库:
在这里插入图片描述

数据库操作DDL

* 快速查找:

说明操作
创建数据库 1*create database 数据库名称;
删除数据库drop database 数据库名称;
查看当前用户所有数据库show databases;
使用/切换数据库 2*use 数据库名称;
查看当前使用的数据库 3*select database();
查看数据库的编码show create database 数据库名称;
修改数据库的编码alter database 数据库名称 character set 编码形式;
修改数据库名称如下4*

1. 创建数据库

//方式1 服务器默认编码
create database 数据库名称;
//方式2 自定义编码
create database 数据库名称 character set 编码形式;	//编码形式如:utf8;gbk

2. 使用、切换数据库

use 数据库名称;
在这里插入图片描述

3. 查看当前使用的数据库

select database();
在这里插入图片描述

4. 修改数据库名称

暴力方法:首先退出MySQL,然后到数据存储位置data目录下直接找到文件夹进行修改,再重新登录MySQL。
在这里插入图片描述
rename database 旧的数据库名称 to 新的数据库名称;(5.2?后版本不可用)

数据表操作DDL

* 快速查找

说明操作
新建表 1*create table 表名称(字段1 数据类型 ...);
删除表drop table 表名;
修改数据表名称 2*rename table 旧数据表名 to 新数据表名;
查看所有数据表show tables;
查看数据表结构 3*desc 数据表名;
查看数据表的编码show create table 数据表名;
修改数据表的编码alter table 数据表名 character set 编码形式;

修改数据表的结构 4*:

说明操作
增加列alter table 数据表名 add 字段名称 字段类型;
删除列alter table 数据表名 drop字段名称
修改字段类型、长度、主键、非空约束alter table 数据表名 modify 字段名称 新类型(新的长度);
删除主键约束alter table 数据表名 drop primary key
删除唯一约束alter table 数据表名 drop index 字段名称
修改列名alter table 数据表名 change 旧的列名 新的列名 类型(长度);

1. 新建表

create table 表名称(
   字段1 数据类型,
   字段2 数据类型,
   字段3 数据类型,
   ...
)

在这里插入图片描述
常用的数据类型如:int,varchar(size),double, data,datatime等。
主键约束(只可设置一次,且修改主键字段时无需添加) primary key
唯一约束 unique
非空约束
自动增长 auto_increment

2. 修改数据表名称

rename table 旧数据表名 to 新数据表名;
在这里插入图片描述

3. 查看数据表结构

desc 数据表名;
在这里插入图片描述

4. 修改数据表结构

- 增加列,添加一个字段

alter table 数据表名 add 字段名称 字段类型;
在这里插入图片描述

- 修改字段类型、长度、约束

alter table 数据表名 modify 字段名称 新的字段类型(新的长度);
修改字段长度:
在这里插入图片描述
修改字段为主键:在这里插入图片描述
修改主键字段为自动增长:
在这里插入图片描述

- 删除主键约束

alter table 数据表名 drop primary key
说明:自动增长的主键需先修改掉自动增长后,再删除主键,否则报错。

- 删除唯一约束

alter table 数据表名 drop index 字段名称
在这里插入图片描述

- 修改列名

alter table 数据表名 change 旧的列名 新的列名 类型(长度);
在这里插入图片描述

- 删除列

alter table 数据表名 drop字段名称
在这里插入图片描述

数据操作语言DML

插入数据(增insert into)

说明sql语句
插入一条完整数据insert into 表名 values (值1, 值2, ... );
插入部分数据insert into 表名(字段名1, 字段名2, ...) values (值1, 值2, ... );

说明:插入值为中文时,需要考虑编码问题,若控制台和服务器编码不同时会报错,这时可修改服务器编码形式:到mysql安装目录下,找到配置文件my.ini(我的位置是:C:\ProgramData\MySQL\MySQL Server 8.0文件夹下)修改保存,然后重启服务(计算机管理里的服务mysql),注意不可改错,修改前注意备份。

1. 插入一条完整数据

insert into 表名 values (值1, 值2, ... );
insert into person values(1, "zhangsan", "male",60, 1 );

2. 插入部分数据

insert into 表名(字段名1, 字段名2, ...) values (值1, 值2, ... );
在这里插入图片描述

删除数据(删delete from)

delete from 表名 where 条件
在这里插入图片描述

查找数据(查select from)

说明操作
查询表所有数据select * from 表名
按条件查询select 列名,列名 from 表名 where 条件
order by 排序 3*select 列名 from 表名 order by 列名 asc(升序) | desc(降序)
group by 分组 4*select 列名 from 表名 where 条件 group by (列名)
别名 5*select 列名 as 别名, 列名 as 别名 from 表名
返回唯一值SELECT DISTINCT 列名称 FROM 表名称
说明操作
where 条件 1* - 关系运算符=, <>, >, <, >=, <= ; 为空/不为空:is null / is not null
- 逻辑运算and, or, not, between … and …, in
- 模糊查询like
函数 2* - 返回表中记录数count(列名)
- 求和sum(列名)
- 平均值avg(列名)
- 最大、最小值max(列名), min(列名)

说明: 更多sql语句参考SQL教程

1. where 条件
- 关系运算符:=, <>, >, <, >=, <=

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

- 逻辑运算:and, or, not, between … and …, in

and:
在这里插入图片描述
上面也可用between 小值 and 大值。
在这里插入图片描述
or:在这里插入图片描述
上面也可用in在这里插入图片描述

- 模糊查询:like

列名 like “xx%”
%为通配符
在这里插入图片描述
知道长度的模糊查询:
列名 like “xx__”
“_”占位符,一个下划线代表一个长度的字符
在这里插入图片描述

2. 函数
- count() 返回指定条件的行数

count(*); 返回表中记录数
在这里插入图片描述
count(列名); 返回指定列的值的数目(NULL 不计入)
在这里插入图片描述
在这里插入图片描述
count(distinct 列名); 返回指定列的不同值的数目
在这里插入图片描述
给查询结果加上别名:
在这里插入图片描述

- sum() 返回数值列的总数

sum(列名);
在这里插入图片描述

- avg() 返回数值列的平均值

avg(列名);
其中的NULL 值不包括在计算中
在这里插入图片描述

- max(), min() 返回一列中的最大值、最小值

max(列名); min(列名);
其中的NULL 值不包括在计算中。
max 和 min 也可用于文本列,获得按字母顺序排列的最高或最低值。

3. 查询结果排序 order by

select 列名 from 表名 order by 列名 asc(升序) | desc(降序)
在这里插入图片描述

4. 查询结果分组 group by

一般sum()函数需要添加 group by语句
统计每个年龄的总薪资:
在这里插入图片描述
比如查找每个客户的总订单金额时 group by实例

5. 别名 as

select 列名 as 别名, 列名 as 别名 from 表名
在这里插入图片描述

更新数据(改update 表名 set)

update 表名 set 字段名 = 值 where 条件
在这里插入图片描述
在这里插入图片描述
der

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值