重新开始第6天

MYSQL的开始

DB:

数据库(database):存储数据的“仓库”,它保存了一系列有组织的数据

DBMS:

数据库管理系统(Database Management System).数据库是通过DBMS创建和操作的容器

SQL

接过话查询语言(Structure Query Language):专门用来与数据库通信的语言

SQL的优点:

1不是某个特定数据库供应商专用的语言,几乎所有DBMS都支持SQL

2简单易学

3虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂

和高级的数据库操作


什么是数据库

1数据放在表中,表再放在库中

2一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性

3表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“类”的设计

4表由列组成,我们也称为字段。所有表都是由一个或多个列组成,每一列类似java中的“属性”

5表中的数据是按行存储的,每一行类似于java中的“对象”


登入方式

通过mysql自带客户端登入,只限ROOT用户

通过windows自带的客户端

mysql -h主机名 -p端口名 -u用户名 -p密码

退出:

exit或者ctrl+c


MySQL的常见命令

1.查看当前所有的数据库

show databases;

2打开指定的库

use 库名

3查看当前库的所有表

show tables;

4查看其它库的所有表

show tables from 库名

5创建表

cteate table 表名(

列名 列类型,

列名 列类型,

。。。

);

6查看表结构

desc 表名;

7查看服务器版本

方式1:select version();

方式2:windows服务端

mysql --version或 mysql --v


SQL语法规范

1。不区分大小写,但建议关键字大写,表名。列名小写

2。每条命令最好用分号结尾

3。每条命令根据需要,可以进行缩进或换行

4。注释

单行注释:#注释文字

单行注释:-- 注释文字(当中有空格)

多行注释:/* 注释文字 */


DQL语言的学习

select + 查询列表 + from + 表名;

SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;字符串拼接

SELECT last_name FROM employees WHERE last_name LIKE '__%';

substr 截取字符串中的字符

select substr('fjlaksjflksd',2)//j开始

instr()返回字符串第一次出现的索引

trim()取出头尾的空格号

trim(‘取出的字符’from '字符串')

lpad('字符串',长度,'')//左填充,不到长度的填充,不到长度从右边阶段

rpad右填充

replace ('字符串','字符串中需要替换的字符串',‘替换字符串’)


数学函数

round(1.65);四舍五入

round(1.345,2)小数点后保留2位

ceil(1.52)向上取整

floor(1.52)向下取整

truncate(1.65,1)小数点后保留1位

mod(10,3)取余


日期类型

now()//返回当前系统日期+时间

curdate()//返回当前系统日期,不包括时间

curtime()//返回当前时间,不包括日期

year(now())年;获取当前年数

year('2020-10-1')年

year(hiredate)年 from employess;

month(now()) 月;

monthname(now())月;


其他函数

version()

database()

user()


流程控制函数

if函数:if else 的效果

if(10>5,'大','小')


case 函数使用

case//要判断的字段或表达式

when 常量1 then 要显示的值1或语句1;

when 常量2 then 要显示的值2或语句2;

。。。

else 要显示的值n或语句n;

SELECT salary,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工资
FROM employees;

case

when 条件1 then 要显示的值1或语句1

when 条件2 then 要钱是的值2或语句2

。。。

else 要显示的值n或语句n

end

SELECT salary,
CASE
WHEN salary > 20000 THEN 'A'
WHEN salary > 15000 THEN 'B'
WHEN salary > 10000 THEN 'C'
ELSE 'D'
END AS 工资级别
FROM employees;

posted @ 2020-09-23 20:30  锁猴  阅读(113)  评论(0编辑  收藏  举报