MySQL常用操作

一,命令行客户端

打开cmd程序,进入到mysql安装目录的bin目录下

1、进入mysql的bin目录
格式:cd C:\MySQL安装目录\bin
2、连接mysql
mysql -uroot -p
输入密码,进入MySQL

二,常用操作

查看所有数据库:
show databases;

使用数据库:
use 数据库名;

查看当前使用的数据库:
select database();

创建数据库:
create database 数据库名 charset=utf8;
例:
create database ceshi charset=utf8;

删除数据库:
drop database 数据库名;
例:
drop database ceshi;

查看当前数据库中所有表:
show tables;

查看表结构:
desc 表名;

查看表的创建语句:
show create table 表名;
例:
show create table students;

三,备份与恢复

以管理员身份运行cmd程序


image.png

备份:
运行mysqldump命令

cd C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin

mysqldump –uroot –p 数据库名 > ceshi.sql

恢复:

先创建新的数据库

mysql -uroot –p 新数据库名 < ceshi.sql

根据提示输入mysql密码

四,内置函数

1.字符串函数

拼接字符串concat(str1,str2...)
select concat(12,34,'ab');

包含字符个数length(str)
select length('abc');

截取字符串
left(str,len)返回字符串str的左端len个字符
right(str,len)返回字符串str的右端len个字符
substring(str,pos,len)返回字符串str的位置pos起len个字符
select substring('abc123',2,3);

去除空格
ltrim(str)返回删除了左空格的字符串str
rtrim(str)返回删除了右空格的字符串str
select ltrim(' bar ');

大小写转换,函数如下
lower(str)
upper(str)
select lower('aBcD');

2.数学函数

求四舍五入值round(n,d),n表示原数,d表示小数位置,默认为0
select round(1.6);

求x的y次幂pow(x,y)
select pow(2,3);

获取圆周率PI()
select PI();

随机数rand(),值为0-1.0的浮点数
select rand();

3.日期时间函数

当前日期current_date()
select current_date();

当前时间current_time()
select current_time();

当前日期时间now()
select now();

日期格式化date_format(date,format)

参数format可选值如下

%Y 获取年,返回完整年份
%y 获取年,返回简写年份
%m 获取月,返回月份
%d 获取日,返回天值
%H 获取时,返回24进制的小时数
%h 获取时,返回12进制的小时数
%i 获取分,返回分钟数
%s 获取秒,返回秒数
例:将使用-拼接的日期转换为使用空格拼接
select date_format('2016-12-21','%Y %m %d');

4.流程控制

case语法:等值判断
说明:当值等于某个比较值的时候,对应的结果会被返回;如果所有的比较值都不相等则返回else的结果;如果没有else并且所有比较值都不相等则返回null
case 值 when 比较值1 then 结果1 when 比较值2 then 结果2 ... else 结果 end
例:
select case 1 when 1 then 'one' when 2 then 'two' else 'zero' end as result;

5.自定义函数

创建
语法如下:
delimiter $$

create function 函数名称(参数列表) returns 返回类型
begin
sql语句
end
$$
delimiter ;
说明:delimiter用于设置分割符,默认为分号
在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符
示例
要求:创建函数my_trim,用于删除字符串左右两侧的空格

step1:设置分割符

delimiter $$

step2:创建函数
create function my_trim(str varchar(100)) returns varchar(100)
begin
return ltrim(rtrim(str));
end
$$
step3:还原分割符
delimiter ;
使用自定义函数
select ' abc ',my_trim(' abc ')

五,创建和调用

创建:
语法如下:
delimiter //
create procedure 存储过程名称(参数列表)
begin
sql语句
end
//
delimiter ;
说明:delimiter用于设置分割符,默认为分号
在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符

调用:
语法如下:
call 存储过程(参数列表);

调用存储过程proc_stu
call proc_stu();
存储过程和函数都是为了可重复的执行操作数据库的 sql 语句的集合.
存储过程和函数都是一次编译,就会被缓存起来,下次使用就直接命中缓存中已经编译好的 sql, 不需要重复编译
减少网络交互,减少网络访问流量

六,视图

对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦
解决:定义视图
视图本质就是对查询的封装
定义视图,建议以v_开头
格式:
create view 视图名称 as select语句;

查看视图 查看表会将所有的视图也列出来
show tables;

删除视图:
drop view 视图名称;
例:
drop view v_stu_score_course;

使用:视图的用途就是查询:
select * from v_stu_score_course;

你可能感兴趣的:(MySQL常用操作)