DB:Database
存储和管理数据的一个仓库。
层次性数据库、网络式的数据库
市场上:主流是关系型数据库和非关系型数据库。
关系型数据库:二维表得形式保存数据的。
非关系型数据库:底层是键-值、列存储结构存储的数据:Redis
Sql Server:微软提供
Oracle:甲骨文公司(Java中使用的也是比较多的)
DB2:IBM(收费的,银行、电信、中大型企业的使用)
MySQL: 免费的开源的,适用用中小型企业
Sqlite:迷你数据库,嵌入式设备中使用
DDL:—数据库定义的语言:CREATE、DROP
DML:—数据库的操作语言:INSERT/UPDATE/DELETE
DQL:—数据库的查询语言:SELECT
【掌握】DQL
查看其他两篇博文。
数据库的软件安装问题可以查看教程:https://blog.csdn.net/weixin_43639180/article/details/105801980
连接服务器:cmd命令,进入的dos窗体中登录的mysql服务器:
mysql -uroot -proot
-u后面跟着的是用户名;-p密码;
连接数据库的时候,也可以进行指定IP和端口号:
mysql -uroot -proot -h127.0.0.1 -P3306
使用完毕进行退出:
quit 或者exit \q
扩展内容:
取消当前执行的语句:\c
Select *from emp\c
查看所有的数据库:
Show databases;
进入具体的数据库:
Desc emp;
查看数据表的表结构;
插入表记录;
格式:给所有的列插入:
insert into 表名 values(值1,值2,值3...)
insert into emp values(null,'张三','男','1999-04-28','项目部','java开发工程师',8500);
给指定列进行插入数据:
Insert into 表名(id, name, gender, salary) values(null, ‘周星迟’男’,66666);
Select *from 表名;
如果是存在乱码问题,
解决方法:
一进入登录的时候,就可以先进行设置编码格式GBK:
set names gbk;
再进行插入数据表记录;
修改的基本语法:
update 表名 set 列=值,列=值... [where语句]
delete from 表名 [where语句]
Drop:删除库和表;
Delete:删除表的记录,可以删除部分记录,也可以删除所有记录,对表本身不产生影响的;
Truncate:只能删除表中的所有的记录,不能删除部分的记录、对表产生影响。
truncate table emp;
如果在查询的过程中,出现重复的数据,使用distinct 剔除重复的数据。
练习1:取出薪水是大于8889的所有的员工的姓名,工资
Select name,salary from emp where salary > 8889;
练习2:查询emp表中的薪资大于9000的所有的员工,显示员工的姓名,薪资;
Select name,salary from emp where salary > 9000;
练习3:部门列为null的所有的员工
Select *from emp where dept is null;
Select *from emp where dept is not null;
Select *from emp where dept not is null;//错误的
模糊查询:
Like:通配符进行搭配使用:%表示0或者多个任意的字符,_表示的是一个任意的字符。
练习4:查询emp表中姓名中包含’三’的员工的信息,显示出姓名。
Select *from emp where name like ‘%三%’;
练习5:查询emp表中以’孙’开头的员工的信息,显示出姓名。
练习6:查询emp表中以’张’开头的,并且姓名中要两个字的员工,显示员工的姓名。
练习7:查询emp中薪资是大于9000的员工的个数。
暂时先更新到这里。更多请看下一篇。欢迎关注。