一,命令行客户端
打开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程序
备份:
运行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;