【msql学习笔记一】

学习数据库,首先需要了解数据库,俗话说的好:“大数据时代,掌握数据者得天下。”
现在任何一款软件都离不开数据,也离不开数据库。 以我的理解,数据库是一种用来存储数据的容器,为各种软件提供数据的交互。

*注:由于在Liunx中操作数据库,所以需要了解以下两个命令:
Linux中启动mysql数据库的命令:service mysqld start

Linux中登录mysql数据库的命令: mysql -u root -p (在空格后输入root以及密码)

现在说说数据库的基本命令:

在说命令之前先了解sqlyog的运行机制,当扣选一条命令时,有三种选择运行方式,第一种是直接按F9,第二种是鼠标单机编辑下的蓝色播放按钮,第三种则是鼠标右键执行查询(因为我以前使用Navicat较多,所以经常用这种方式,其实这种方式在yog中最不简洁方便)
yog会自动搜索光标位置,往光标前检索第一个分号,从光标后检索第二个分号,并判定以此这是一句完整命令。

数据库操作

创建数据库:CREATE DATABASE 数据库名;  (character set 字符集  :指定数据库采用的字符集)

删除数据库:DROP DATABASE 数据库名;

修改数据库:alter database 数据库名  character set  字符集;  #修改当前数据库的字符编码

显示所有数据库:show databases;

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

数据表操作:

查看当前数据库所有表:show tables;
显示数据表的创建语句:show create table 表名;

创建数据表:create table 表名(列1 数据类型(长度),列2 数据类型(长度),....)    #如果第一个为ID,想添加为主键,就使用:PRIMARY KEY AUTO_INCREMENT   ##:PRIMARY KEY主键  AUTO_INCREMENT自动增长

删除数据表:drop table 数据表名 where 条件;

修改数据表:alter table 表名 add (column1 datatype,column2 datatype);  --新增字段  [column1:字段名;datatype:字段类型以及长度]

alter table 表名 modify column datatype; --修改字段类型及长度,注释如上

alter table 表名 change 列名 新列名 datatype; --修改字段名

alter table 表名 drop 列名;  --删除字段         (修改表名还有中方法:Rename table 表名 to 新表名)

数据的操作:

新增数据:insert into 表名 values (值1,值2,...);    (每一句命令后以英文的;结尾)

删除数据:delete from 表名 where 条件;

查询数据:select 内容 from 表名 where 条件;

这里有一个完整的查询语句模板:

select 列1,列2 from 表名 where 条件1 and(or) 条件2 group by 列1,列2,...  having 条件1 and(or) 条件2 ... order by 列1 asc(desc),列2 asc(desc) limit;
对上面的例子进行翻译:select 查询, from 从 , where 用什么条件(以我的理解) ,and(or) 和(或) , group by 分组,  having:也是用什么条件,但是是通过查询才能得到的数据用这个,order  by 排序,  asc(desc)排序(升序) limit:作用是取结果集中的部分数据。
合起来就是从(某个表)中查询某一列(或多列),通过列一(或多列)分组,使用条件一(和/或 多条件),附加条件(和/或 多条件) 最后通过列一(或者多列)(以升序或降序)排序,并且取部分数据。

数据函数:

year(time); 提取time年份           
month();月份         
week();周次
例如:datediff(now(),time)>365
timestampdiff(year.time,now())>0
大于一年时间


datediff(now(),time)    timestampdiff(year,time,now())
时间差   now()现在时间   time数据时间          year:以年来算


max()最大值   min()最小值   avg(列,2)平均数(保留两位小数位)count()统计数据
## 一点遗漏的小内容:
==== 模糊查询:like '%值%' == ==
% :代表任意为字符   - 代表一位任意字符


distinct 去除重复值
例如:
select distinct  dep round(avg(salary),2)  form emp group by dep;
将emp表中的所有dep(组)的平均salary求出

#######################################################################################################################################################################

总结

笔记一中全是数据库最基础的命令,也就是单表操作的命令。较为简单以及基础,需好好掌握。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值