广州网站排名优化公司,福州专业制作网站,百度免费推广方法,优秀的门户网站数据库学习笔记
1 SQL语言介绍 2 数据库的安装
2.1 启动数据库
方式一#xff1a;net start mysql
方式二#xff1a;在计算机管理里面手动打开数据库
2.2 登录MySQL
方式一#xff1a;本地登录
即数据库与客户端在同一台电脑上。
方式二#xff1a;远程登录
mysq…数据库学习笔记
1 SQL语言介绍 2 数据库的安装
2.1 启动数据库
方式一net start mysql
方式二在计算机管理里面手动打开数据库
2.2 登录MySQL
方式一本地登录
即数据库与客户端在同一台电脑上。
方式二远程登录
mysql -uroot -h数据库服务器的IP地址 -p
但用root账户对数据库服务器进行远程登录一般会被拒绝因为root账户的权限非常高。
若是想要访问可以按照以下步骤进行操作
第一步先在本地使用root账户登录mysql第二步use mysql第三步update user set host‘%’ where user‘root’;第四步flush privileges;第五步退出再以远程方式登录
3 初始化数据
3.1查看有多少个数据库
show databases;
3.2 使用数据库
use 数据库名;
3.3 查看表
show tables
3.4 创建新的数据库
create database 数据库名;
3.5 删除数据库
drop database 数据库名;
3.6 查看当前使用的数据库
select database();
3.7 退出mysql
exitquitctrlc
3.8 查看mysql版本
方式一启动数据库后用select version();查看方式二在cmd中输入mysql --version
3.9 熟悉表结构
desc 表名;
3.10 初始化数据
你入职的时候项目一般都是进展了一部分多数情况下你进项目组的时候数据库的表以及数据都是有的项目经理第一天可能会给你一个较大的sql脚本文件你需要执行这个脚本文件来初始化你的本地数据库。当然也有可能数据库是共享的。创建文件xie.sql把以上SQL语句全部复制到sql脚本文件中。执行SQL脚本文件初始化数据库 第一步命令窗口登录mysql第二步创建数据库xie如果之前已经创建就不需要再创建了create database xie;第三步使用数据库xieuse xie;第四步source命令执行sql脚本注意source命令后面是sql脚本文件的绝对路径。
4 查询语句DQL专题
select语句永远不会改变表的结构
4.1 简单查询
4.1.1 查询一个字段
语法格式select 字段名 from 表名;
4.1.2 sql语句写错了
输入\c来终结该语句
4.1.2 查询多个字段
语法格式select 字段名,字段名,字段名… from 表名;
4.1.3 查询一个表所有信息
语法格式select * from 表名;
4.1.4查询时字段可参与数学运算
例如select deptno*12 from dept;
4.1.5 查询时给字段起别名
可以起中文别名
情况一select 字段 as 字段别名 from 表名;情况二select 字段 字段别名 from 表名;as可以省略情况三select 字段 ‘字段别名 1’ from 表名;若是别名有空格必须给别名括上单引号或双引号其中单引号是标准
4.2 条件查询
条件说明等于或!不等于大于等于小于等于大于小于between…and…等同于 and is null为空is not null不为空安全等于可读性差很少使用了。and 或 并且or 或 ||或者in在指定的值当中not in不在指定的值当中existsnot existslike模糊查询
4.2.1 条件查询语法格式
select 字段名 from 表名 where 过滤条件;
执行顺序先from再where最后select
mysql无论是语句还是字段等内容都不区分大小写orcale区分大小写
4.2.2 不等于查询
在开发中一般使用表示不等于。
select * from emp where deptno10;
4.2.3 区间查询
查询工资在1600~3000的员工信息
between…and…是闭区间的。between 1000 and 2000 是包含1000和2000的。
方式一select * from emp where sal1600 and sal3000;方式二select * from emp where sal between 1600 and 3000;
4.2.4 and和or的优先级问题
and和or同时出现时and优先级较高会先执行如果希望or先执行这个时候需要给or条件添加小括号。另外以后遇到不确定的优先级时可以通过添加小括号的方式来解决。对于优先级问题没必要记忆。
4.2.5 between…and…
between…and…是闭区间的。between 1000 and 2000 是包含1000和2000的。
不仅能用在数字方面字符串日期方面也可以。
数字select * from emp where sal between 1600 and 3000;字符串select ename from emp where ename between a and z;日期select * from emp where HIREDATE between 1982-01-23 and 1987-04-19;
4.2.6 is null is not null
判断某个数据是否为null不能使用等号只能使用 is null 判断某个数据是否不为null不能使用不等号只能使用 is not null 在数据库中null不是一个值不能用等号和不等号衡量null代表什么也没有没有数据没有值.
4.2.7 in not in
案例1找出工作岗位是MANAGER和SALESMAN的员工姓名、薪资、工作岗位.
方式一select ename,sal,job from emp where job ‘MANAGER’ or job‘SALESMAN’;方式二select ename,sal,job from emp where job in(‘MANAGER’,‘SALESMAN’);
4.2.8 in not in 与null的小细节
select * from emp where comm NULL or comm 300;
上述语句执行的效果如下select * from emp where comm 300;
NULL不能用等号进行判断所以comm NULL结果是false.
in是自动忽略NULL的,但not in是不忽略NULL的。
如下代码mysql select * from emp where comm not in(null,300);结果什么也查不出来。
4.2.9 模糊查询
语法格式select …from … where 字段1 like ‘通配符表达式’;
%代表任意多个字符_代表任意一个字符
查含有下划线的字符需要转义_
5 排序操作
5.1 单个字段排序
语法格式select .. from .. order by 字段 asc/desc
默认为升序。
5.2 多个字段排序
语法格式select .. from .. order by 字段 asc/desc字段 asc/desc
例子查询员工的编号、姓名、薪资按照薪资升序排列如果薪资相同的再按照姓名升序排列。
select empno,ename,sal from emp order by sal asc,ename asc;
5.3 where和order by的位置
找出岗位是MANAGER的员工姓名和薪资按照薪资升序排列。
select ename,sal from emp where job MANAGER order by sal asc;where先执行order by语句是最后执行的。
5.4 执行顺序
首先执行where再执行from再执行select最后执行order by。
6 distinct去重
去除表中重复的记录联合全部字段去重但真实数据库里面的不会改变。
distinct 出现在所有字段的最前方。
数据库注意事项
当数据库连接不上的时候可以看看是不是在计算机管理的标准里面将数据库关闭了。 where先执行order by语句是最后执行的。
5.4 执行顺序
首先执行where再执行from再执行select最后执行order by。
6 distinct去重
去除表中重复的记录联合全部字段去重但真实数据库里面的不会改变。
distinct 出现在所有字段的最前方。
数据库注意事项
当数据库连接不上的时候可以看看是不是在计算机管理的标准里面将数据库关闭了。