MYSQL学习   DAY 1

来自young   今天也要认真学习,每天都会记录今天学习的知识以及碰到的难点!!好好读书!加油加油!

一、数据库相关概念

1.DB:数据库,数据存储的仓库;保存一系列有组织的数据。

2.DBS:数据库系统。

3.DBMS:数据库管理系统。数据库是通过DBMS创建和操作的容器;常见的数据库有:mysql、SQL server、Oracle等。

4.DBA:数据库管理员。

5.SQL:结构化查询语言,专门用来与数据库建立联系。

二、数据库存储数据的特点

1.将数据放在表中,然后将表存放到数据库之中。

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

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

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

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

三、mysql中常见的命令

1.显示当前数据库管理系统中存在的数据库

show databeses;  //这里的 ;按要求来是必须添加的,在命令行中执行必须要这个才可以结束,在软件中没有也可以运行

2.使用某个数据库

use + 你想要使用的数据库的名字 ;

3.显示某个库中的表

show tables;  //此时需要保证你在你要查询的表的数据库中

4.显示某个表中的 全部/某个 数据

select * from + 你的表的名字;   //显示表中的所有的数据select +(表中某个变量名字) from +表的名字;    //显示表中的某个变量的全部数据,想要显示多个可以让变量使用,相连接

5.在一个数据库中想要调用另外一个数据库中的表

//除了上面所提到的可以使用 use+数据库  --> show tables 的方法之外,还可以使用下面的方法show tables from +数据库名字;

6.在数据库中创建表

create table `表名`(
`变量名1` 变量类型1,
`变量名2` 变量类型2,
...);/*在这里需要注意以下几个点:
1.注意是create 而不是 creat
2.表名、变量名都需要使用 反引号引起来(在键盘的最上面,数字1的左边)
*/

7.显示自己创建的表的结构

desc+表名;   //保证数据库位置正确

8.在表中插入数据

insert into 表名  value(在这里添加相关数据,记住要与表的结构相匹配);  //在这里要是不记得自己的表的结构,可以使用desc+表名进行查询

9.删除表中的数据

delete from 表名 where 定位(可以选择你创建的表的中具有的唯一的标志,比如id=1);

10.修改表中的数据

update  表名 set +你想要修改的数据(name="lisi")  where 定位;

11.查看当前的数据库的版本

select version();   //在客户端内查看使用这个语句在非客户端中查看(在dos命令界面查看) mysql –version(也可以使用简写:mysql --V);

12.删除数据库

drop databases if exits 数据库名字;

13.添加别名

select 查询列表 as 别名 from 表名;

14.创建新的数据库

create database 库名;

四、MySQL的语法规范

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

2每条命令用分号结尾(最好使用)

3.每条命令根据需要进行缩进和换行(建议关键字单独在一行)

4.注释  单行注释:#注释文字.

单行注释:-- 注释文字(中间必须有个空格)

多行注释:/* */

五.条件查询

/* 语法:select 查询列表  from 表名  where 筛选条件;*/

1.按条件表达式筛选(条件表达式:> < = !=(一般使用<>表示不等于) <=>(安全等于) <=  >=)

#案例、查询表中工资大于500的信息
select * from 表名 where 筛选条件(salary>500);<=> 安全等于----可读性较差
#案例:查询奖金为null的员工信息
select * from employees(表名) where commission_pct<=>null;

2.按逻辑表达式筛选(逻辑表达式:and(&&)、or(||)、not(!))

#案例:查询工资在10000到20000的员工的信息
select * from employees(表名) where salary>=10000 and salary<=20000;

3.模糊查询(like、between and、in、is null)

1>.like  一般和通配符使用  常见通配符:% 任意多个字符   _ 单个字符

#案例1:查询员工名字中含有字母a的员工信息
select * from employees where last_name like "%a%";#案例2:查询员工名字中第二个字母是s的员工信息
select * from employees where last_name like "_a%";#案例3:查询员工名字中含有符号_的员工信息
select * from employees where last_name like "%\_%";  //这里要查询含有这个字符的就需要添加转义字符\

2>.between and  (between and之间的数据不可以交换位置;包含临界值)

#案例:查询员工工资大于1000小于20000的员工信息
select * from employees(表名) where salary between 1000 and 20000;

3>.in(in列表的值类型必须统一或者兼容)

#案例:查询工种编号是A B C的员工信息
select * from employees(表名) where job_id in(A,B,C);

4>.is null(=、!=不可以判断null值;is null、is not null可以用来判断null值)

#案例:查询奖金不是null的员工信息
select * from employees where commission_pct is not null;

六、排序查询

/* 语法:select 查询列表 from 表名 where 筛选条件 order by 如何排序(asc 升序 / desc 降序)  */

直接上案例:

#案例:查询工资在1000到5000之间的员工信息,并按员工id进行升序排序
select * from employees(表名) where salary between 1000 and 5000 order by job_id asc;

七、常见函数

1. 字符函数

/*  格式:select 你要使用的函数名() from 表名;  */

1>.length   ----  获取参数的字节数

#案例
select length("张三丰");   //获取张三丰所占的字节数//一般来说,一个汉字占三个字节,但是还要与他的字节编码有关;如果是GBK,那么一个汉字占用两个字节,如果是utf-8,那么一个汉字占用两个字节

2>.concat  ---连接字符成为字符串

#案例:连接employees中last_name和first_nameselect concat(last_name,'_',first_name )from employees;

3>.upper 、lower  --- 将字符变为大写、小写

#案例:将employees表中的last_name和first_name分别变为大写和小写,并连接select concat(upper(last_name),'_',lower(first_name)) from employees;

大家可以回想以下,符号“_"在哪里的时候需要进行转义之后才可以使用??  看自己学的牢固不 嘿嘿嘿

4>substr/substring   ---索引从哪里开始截取字符串

//分为两种情况,一个是只有一个参数,这里的参数表示的是从哪儿开始截取,一直截取到最后;有两个参数表示从哪里开始截取吗,截取多长#案例:
select substr("李莫愁爱上了卢展颜",a);   //表示从位置a开始截取
select substr("李莫愁爱上了卢展颜",a,b);   //表示从位置a开始截取,截取长度为b的字符串
#案例:将员工姓名中的首字符大写,其他小写,随后使用"_" 进行连接
select concat(upper(last_name,1,1),lower(last_name,2),"_",lower(first_name)) from employees;

5>.instr  ---返回你查找的字串第一次在主字符串中出现的位置,找不到就返回0

select instr('吴莫愁真的很吴莫愁','莫愁');
//此时输出的数据为2

6>.trim  ---去除前后的空额或者其它字符串,去除其它字符串的时候需要在中间加上  ’需要去除的字符串’ from '字符串'

#案例:去除空格
select trim('  张翠山') as out_put;#案例:去除某个字符串
select trim('a' from 'aaaa张翠山aaaa');
//这里需要注意的是,如果在张翠山中间含有字符a是无法去除的,因为trim只去除字符串前后的字符,中间的无法去除

7>.lpad / rpad  用指定字符实现左 / 右填充指定长度,当字符串长度大于指定长度的手会进行截断

select lpad('哈哈',10,'_') as out_put;  //这里是使用_进行填充,而且要注意这里汉字所占的字符大小为多少

8>.replace  --替换

select replace('主字符串','被替换的字符串','替换的字符串');

2. 数学函数

1>.round  四舍五入

sele

#1。
select round(16.55);   //取为整数
#2.
select round(16.202,2); //后面的数字表示小数点后保留两位小数

2>.ceil  向上取整,返回大于等于该参数的最小整数

select ceil(1.50);   //结果为2

3>.floor  向下取整,返回小于等于该参数的最小整数

select floor(1.20);  //结果为1

4>.truncate  小数点后保留几位

select truncate(1.20,1);

5>.mod  ---取余(被除数为正余数就是正数,被除数是负数余数就是负数)

select mod(a,b)   相当于进行运算a-a/b*b(取整数)

3. 日期函数

1>.now  ---返回当前系统日期以及时间

select now();

2>.curdate()  ---返回当前系统日期,不包含时间

3>.curttime()  ---返回当前时间不包含日期

好了,今天的mysql学习总结就到这里了,其余的总结等后面学习之后在进行更新,还希望大家给小编一个充满爱的

MySQL学习 DAY1相关推荐

  1. Mysql学习笔记day1 --三天学完mysql所有知识点

    Mysql 超全MySQL学习笔记,三天就可以学会熟练运用SQL语句,干货满满,文章末尾有相应的练习题,可以多练练加深印象,希望我的文章对你有所帮助 一.服务器 1.什么是服务器?用于提供共享资源文件 ...

  2. 【mysql学习笔记整理】

    /*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作 #创建 #数据库的创建 USE mysql; CREATE DATABASE db_x; #删除 #删除数据库 DROP DA ...

  3. 数据库MYSQL学习系列三

    数据库MYSQL学习系列三 三.MYSQL事务与存储引擎 3.1-数据库事务 什么是事务 一系列有序的数据库操作: o要么全部成功 o要么全部回退到操作前的状态 o中间状态对其他连接不可见 事务的 ...

  4. 我的MYSQL学习心得(十六) 优化

    原文:我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看 ...

  5. 我的MYSQL学习心得(4) : 数据类型

    我的MYSQL学习心得(1) :简单语法 我的MYSQL学习心得(2) :数据类型宽度 我的MYSQL学习心得(3) : 查看字段长度 MYSQL里的BLOB数据类型 BLOB是一个二进制大对象,用来 ...

  6. 数据库MYSQL学习系列一

    数据库MYSQL学习系列一 一.MYSQL数据库基础 1.1-认识MYSQL 什么是数据库 计算机处理和存储的一切信息都是数据 计算机系统中一种用于存取数据的程序 一种: 计算机系统中有很多种能够存取 ...

  7. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  8. 【计算机本科补全计划】Mysql 学习小计(2)

    正文之前 昨天下午写了篇 Mysql学习小计,结果出乎意料的受欢迎?变相刺激了我多写点 Mysql?好吧,如尔所愿.我晚上反正还不知道学点啥,就把今天看的那个菜鸟教程学完吧,到时候估计一点了,就可以睡 ...

  9. mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]

    mysql存储过程基本函数 一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2  [,... ]) //连接字串 INSTR (string ,substrin ...

最新文章

  1. php负载均衡原理_PHP超级负载均衡
  2. 双边滤波--OpenCV实现
  3. (JS基础)DOM:节点类型
  4. dev c++怎么设置断点_Linux怎么挂载移动硬盘光盘U盘之案例分享
  5. PHP、JS 中 encode/decode
  6. vue.set的用法
  7. 计算机英语讲课笔记01
  8. ASIC与FPGA的最大区别是什么 可否相互替代
  9. 组网[ZeroTier]+自建Moon服务
  10. Quartus II——基于VGA的图像显示
  11. 自动统计文件夹下所有音频时长与个数
  12. Spring boot实训开发个人博客(二)详情页
  13. 李宇春的歌用计算机弹,计算器当钢琴玉米弹出李宇春5首歌曲(组图)
  14. 繁体中文和简体中文编码
  15. SQL必知必会第十四节挑战题
  16. Flutter 实现原理及跨平台实践
  17. 《Linux C编程从入门到精通》——1.3 Shell的使用基础
  18. 图像增强——伽马变换
  19. 新手建站免费空间及其使用体验
  20. 大牧絮叨设计模式:简单工厂模式

热门文章

  1. Outlook-VBA-03-收件箱附件处理
  2. Oracle的表空间、用户和模式
  3. 下一代LMS的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. python里小于号怎么打_如何在嵌入xml的python脚本中使用大于或小于符号?
  5. 获取你想要的微信公众号推文的封面图
  6. 【TSP问题】基于改进遗传算法求解旅行商问题matlab源码
  7. 林语堂告倒世界书局内幕
  8. activiti 入门——activiti API (二)
  9. 2019年5月7日公布的全国水质排行榜_全国城市水质排名一览表
  10. 扶着墙进去,扶着墙出来