数据库重点知识软件工程必看

本文主要介绍了数据库管理系统(DBMS)的种类,如MySQL、Oracle、SQLserver和DB2,强调了数据库软件在数据增删改查操作中的重要性。接着详细讲解了SQL语言,包括如何连接数据库、SQL的分类(DDL、DML、DQL、DCL和TCL)以及具体操作如创建、查询、修改和删除数据库及表的相关SQL语句。还提供了相关练习,帮助读者巩固学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库

  • 学习数据库主要学习的就是如何对数据进行增删改查操作.增加(插入数据) 删除数据 修改数据 查询数据
  • 为什么使用数据库软件?之前在讲webserver时通过IO技术已经操作过数据,其实这部分代码相当于自己写了一个数据库软件,只不过功能较少执行效率较低,将来工作中不管开发什么网站都需要对数据进行增删改查操作,这种使用频率较高而且开发过程复杂的内容在互联网行业中肯定会有一个通用的解决方案.
  • DBMS:DataBaseManagementSystem数据库管理系统(数据库软件),包括:MySQL/Oracle/SQLserver/DB2等
  • 学习数据库主要学习如何和数据库软件进行交流 通过SQL语言和数据库软件进行交流
  • 常见的DBMS介绍:

    1. MySQL: Oracle公司产品, MySQL在08年被Sun公司收购,09年Sun公司被Oracle公司收购,开源软件, 被收购后MySQL创始人从Oracle离开创建了MariaDB,MariaDB就是MySQL软件的一个分支. 市占率第一
    2. Oracle: Oracle公司产品, 性能最高价格最贵的数据软件. 市占率第二
    3. SQLserver: 微软公司产品 .net语言使用此数据库 市占率第三.
    4. DB2: IBM公司产品
    5. SQLite: 轻量级数据库软件,安装包只有几十k. 主要 应用在移动设备和嵌入式设备中
  • 开源和闭源:开源:开发源代码, 盈利方式:靠卖服务, 有技术大拿无偿维护升级.闭源:不开放源代码, 盈利方式:靠卖产品(软件)和卖服务, 有技术大拿攻击找漏洞,但是产品公司会花钱养一群技术大拿维护和升级.

SQL语言

  • Structured Query Language:结构化查询语言,用户程序员和数据库软件进行交流
  • 执行SQL语言之前需要先连接数据库软件

    1. windows: 开始->MySQL/MariaDB->MySQL Client 点击运行 然后输入自己的密码 回车
    2. linux: 在桌面右键->打开终端 输入以下指令mysql -uroot -p 回车 输入密码 再回车
  • 退出命令: exit;

    Access denied for user 'root'@'localhost' (using password: YES)   密码错误
    

SQL分类

  • DDL: 数据定义语言, 负责数据库和表相关的操作
  • DML: 数据操作语言, 负责数据增删改
  • DQL: 数据查询语言, 负责查询数据
  • DCL: 数据控制语言, 负责控制用户权限相关
  • TCL: 事务控制语言, 事务相关

DDL

数据库相关SQL

  • 数据库软件中要想保存数据需要先建库再键表
  • 查询所有数据库
  • 格式: show databases;
  • 创建数据库
  • 默认字符集格式: create database 数据库名;create database db1;
  • 指定字符集格式: create database 数据库名 character set gbk/utf8; create database db2 character set gbk;
    create database db3 character set utf8;
  • 查询数据库详情
  • 格式: show create database 数据库名;show create database db1;
  • 删除数据库
  • 格式: drop database 数据库名;drop database db1;
  • 使用数据库
  • 如果需要进行表操作后者数据操作 必须使用某个数据库之后再进行
  • 格式: use 数据库名;use db2;

数据库相关SQL 回顾

  1. 查询所有 show databases;
  2. 创建 create database 数据库名 character set utf8/gbk;
  3. 查询详情 show create database 数据库名;
  4. 删除 drop database 数据库名;
  5. 使用数据库 use 数据库名;

数据库相关练习

  1. 分别创建mydb1和mydb2 第一个utf8 第二个gbk create database mydb1 character set utf8; create database mydb2 character set gbk;
  2. 查询所有数据库检查是否创建成功show databases;
  3. 分别查询mydb1和mydb2检查字符集是否正确show create database mydb1; show create database mydb2;
  4. 先使用mydb1 再使用mydb2 use mydb1; use mydb2;
  5. 删除两个数据库drop database mydb1; drop database mydb2;

表相关的SQL语句

  • 操作表相关的SQL 必须先使用某个数据库create database mydb1; show create database mydb1; use mydb1;
  • 如果默认不是utf8,以后创建数据库需要制定字符集为utf8 create database mydb1 character utf8;
  • 创建表
  • 格式: create table 表名(字段1名 类型,字段2名 类型);create table person(name varchar(5),age int);
  • 制定字符集格式:create table 表名(字段1名 类型,字段2名 类型) charset=utf8/gbk; create table student(name varchar(10),score int) charset=gbk; create table hero(name varchar(10),money int) default charset=utf8;
  • 查询所有表
  • 格式: show tables;
  • 查询表详情
  • 格式: show create table 表名;show create table person; show create table hero;
  • 查询表字段
  • 格式: desc 表名;desc person;
  • 删除表
  • 格式: drop table 表名;drop table hero;
  • 修改表名
  • 格式: rename table 原名 to 新名;rename table person to t_person;
  • 添加表字段
  • 最后添加格式:alter table 表名 add 字段名 类型;alter table student add gender varchar(5);
  • 最前面添加格式:alter table 表名 add 字段名 类型 first; alter table student add id int first;
  • 在某个字段的后面添加: alter table 表名 add 字段名 类型 after xxx; alter table student add money int after name;
  • 删除表字段
  • 格式: alter table 表名 drop 字段名;alter table student drop money;
  • 修改表字段
  • 格式: alter table 表名 change 原名 新名 新类型;alter table student change gender money int;

表相关SQL回顾

  1. 创建表: create table t1(name varchar(10),age int)charset=utf8/gbk;
  2. 查询所有 show tables;
  3. 查询详情 show create table t1;
  4. 查询表字段 desc t1;
  5. 删除表 drop table t1;
  6. 修改表名 rename table t1 to t2;
  7. 添加表字段 alter table t1 add age int first/after xxx;
  8. 删除表字段 alter table t1 drop age;
  9. 修改表字段 alter table t1 change 原名 新名 新类型;

表相关练习

  1. 创建mydb2 字符集utf8 并使用该数据库create database mydb2 character set utf8; use mydb2;
  2. 在mydb2中创建员工表emp 字段有name 字符集utf8 create table emp(name varchar(10)) charset=utf8;
  3. 最后面添加age字段 alter table emp add age int;
  4. 最前面添加id字段 alter table emp add id int first;
  5. name后面添加gender字段alter table emp add gender varchar(5) after name;
  6. 修改gender字段为工资salary alter table emp change gender salary int;
  7. 删除age字段 alter table emp drop age;
  8. 修改表名为 temp rename table emp to temp;
  9. 删除表 删除数据库drop table t_emp; drop database mydb2;

DML数据操作语言

  • 执行操作数据的SQL必须保证已经使用了某个数据库,并且存在数据所对应的表create database mydb3 character set utf8; use mydb3; create table person(name varchar(10),age int)charset=utf8;
  • 插入数据(增)
  • 全表插入格式(要求值的数量和顺序和表字段保持一致): insert into 表名 values(值1,值2,值3); insert into person values("Tom",18);
  • 指定字段插入格式(要求值得数量和顺序和指定的一致)insert into 表名(字段名1,字段名2) values(值1,值2); insert into person(name) values('Jerry');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值