Mysql day1

一、安装过程中

绿色版不好安装 略过

msi版 Enable TCP/IP Networking 与Port Number:3306 3306易被攻击改成3366

IP与端口号 IP电脑通信 端口号电脑间服务通信 先IP后端口号

选字符:三个选项含义--英语 日语 全球(一般设置选utf8)

超级管理员账户默认root不能修改

有一个选项勾选后不用自己配置环境变量

 

二、登录

登录mysql:mysql -uroot -p

mysql -uroot -p
Enter password:

登录成功标志:出现mysql>

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Mysql Commond Line Client是root身份登录的

Mysql服务有两种:1、此电脑右键-》管理-》服务和应用程序

                               2、cmd下:net stop mysql或者net start mysql

 

三、表

表是一种结构化的文件,包括行列主键

列叫做字段Column 每个字段都有四个属性:名称、数据类型、约束、长度

行        记录/数据

 

四、SQL分类

DQL Data Query Language 查询语句 关键字 select

DML          Manipulation       数据操作             insert delete update

DDL          Definition             数据定义             create drop alter

TCL Transactional Control Language  事务控制 Commit,rollback

DCL Data Contiol Language   数据控制 grant revoke

 

五、导入sql文件

1、登录

2、建库 create database bjp;

3、使用该库 use bjp;

Database changed

4、导入sql文件 source 文件全路径/直接拖入;

5、删库跑路 drop database bjp;

常见错误:1、MySQL>下忘记敲分号,不敲分号是一个句子 可以使用\c终止

                  2、字母写漏的 

                  3、文件路径不对的

 

六、开始查看

1、登录,用库 use bjp;

2、看该库下所有表 show tables;

+-----------------------+
| Tables_in_bjp |
+-----------------------+
| dept                  |
| emp                   |
| salgrade              |
+-----------------------+

3、看表结构 desc dept; 可以看到诸如都有哪些字段,字段类类型之类的 desc description

+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| DEPTNO | int(2)      | NO   | PRI | NULL    |       |
| DNAME  | varchar(14) | YES  |     | NULL    |       |
| LOC    | varchar(13) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+

4、常见词汇:salgrade salary grade 工资等级表 ,emp 员工表 ,  dept 部门表

---------------------------------------

其他查看

1、看mysql dbms 下有多少数据库 show databases;

2、看mysql版本 在Windows cmd下 mysql --version/-V

                           在数据库下 select version();

+-----------+
| version() |
+-----------+
| 5.7.19    |
+-----------+

3、查看当前编辑的数据库是哪个 select database();

4、查看其他数据库中的表 show tables from 你想看的数据库名;

5、查看建表用的语句 show create table 你想看的表名;

--------------------------------------

退出

1、Ctrl+C

2、exit

3、quit

 

七、DQL

1、在sql语句中不区分大小写,分号结尾

2、简单查询

select 字段1,字段2... from 表名;

select * from 表名; 不建议这样写 可读性差 效率低

案例 查年薪:

select empno,ename,sal*12 from emp;

select empno,ename,sal*12 as yearsal from emp; 可以在结果中将列名sal*12 重命名为 yearsal as可以省略不写

3、条件查询

select ~ from ~ where sal=5000; 可用 =,>=,<=,!=同<>

...where sal>=3000 and sal<=5000;同...where sal between 3000 and 5000; 

and左闭右开 小值在前大值在后 可以写字符 'A' ---'Z'

4、NULL

NULL不是具体值 什么都不是 0才是具体值 有NULL参与的数学运算结果都是NULL

...where comm is null 不能写 =null not取非,用在is 或 in中 and并且 or或者 and优先级大于or

案例找工资大于1800,部门编号为20或者30的员工

select epmno,enam,sal,deptno

from emp

where sal>1800 and (deptno =20 or deptno =30); 思考有无括号的区别

--------------------

in 在选项中选择而不是范围 区别于between

如 ...where sal in(1500,5000) 同where sal=1500 or sal=5000;

 

5、like 像 模糊查询

%代表 0~n个任意字符 _代表任一个字符

where ename like '%p%';查名字含p的

                              '_p%'第二个字母是p的

--------------------------

排序 order by 默认是升序 asc    降序的话写desc 不同与上一个desc

order by sal desc,ename asc;

order by 2; 意思是按select后面第二个字节默认升序排列 如 select sal,ename,eno中 2指的是ename

 

八、数据处理函数

lower  select lower(ename) from emp;

upper 

length

trim

rand 生成随机数

round (被四舍五入的数,位数 ±、0)

substr 截取  (ename,2,3)  ename--被截取的列名 2--起始位置 3--截取长度

案例 找名字第二个字母是A的员工 

select ename from emp where substr(ename,2,1)='A';

-------------------------------------------------------

ifnull  如果为空 select ename ,ifnull (comm,0) from emp; 

 select ename, ifnull(comm,0) from emp;
+--------+----------------+
| ename  | ifnull(comm,0) |
+--------+----------------+
| SMITH  |           0.00 |
| ALLEN  |         300.00 |
| WARD   |         500.00 |
| JONES  |           0.00 |
| MARTIN |        1400.00 |
| BLAKE  |           0.00 |
| CLARK  |           0.00 |
| SCOTT  |           0.00 |
| KING   |           0.00 |
| TURNER |           0.00 |
| ADAMS  |           0.00 |
| JAMES  |           0.00 |
| FORD   |           0.00 |
| MILLER |           0.00 |
+--------+----------------+

案例查年薪 select ename,(sal+ifnull(comm,0))*12 as yearsal from emp;

 

九、关于Mysql中的日期处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值