MySQL数据库/表/表中内容的增删改查(通过命令行)

您所在的位置:网站首页 修改数据库数据的命令 MySQL数据库/表/表中内容的增删改查(通过命令行)

MySQL数据库/表/表中内容的增删改查(通过命令行)

2024-07-08 03:49:24| 来源: 网络整理| 查看: 265

文章目录 数据库概述:常见的数据库:关系型数据库:MYSQL数据库服务器MYSQL的安装和卸载MYSQL的 SQL语句数据库的CRUD的操作创建数据库查看数据库修改数据库的操作删除数据库其他数据库操作命令 表的CRUD操作创建表查看表修改表删除表 Sql完成对表中数据的CRUD的操作插入数据(DML语言)删除数据更新表记录查询记录创建要使用的表简单查询条件查询排序查询聚合函数分组 group by关键字的编写顺序、执行顺序

数据库概述:

什么是数据库

数据库就是一个文件系统,只不过我们需要通过命令(SQL)来进行操作

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。

所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

数据库的作用

储存数据,数据的仓库,带有访问权限限制不同人可以有不同的操作

为什么要学习数据库

网站前台交互所需的数据的存储、读取、修改、查询;用户注册、登录、账户(订单、余额等)

操作的都是后台数据,取到后台数据进行封装,然后交给前端去实现

常见的数据库:

​ mysql: 开源免费的适用于中小型企业的免费数据库,sun收购了mysql,sun公司被oracle收购,oracle收购后开始收费了

​ mariadb: 由mysql创始人搞出来的,直接是mysql开源版本的一个分析,基本上所有的命令都是一样的

​ oracle: 甲骨文公司,商业软件,收费软件,使用与大型电商网站,收购了sun,拥有了java,安卓用java开发但修改了虚拟机(java虽开源但不允许修改虚拟机,google修改优化了虚拟机,使其可以跑在手机上)

​ db2: IBM公司,thinkpad,解决方案:软件和硬件,服务器架构,银行系统大多采用是db2

​ sqlserver: windows里面,政府网站,asp.net,并且大学通常都是SQLserver. 图形化工具做的不错

​ sybase: 被淘汰的,

​ NOSQL非关系型数据库:key: value

​ mongodb:

​ redis: 最简单的,set get就可以设置获取数据,一般作为缓存,将数据直接存在内存中,可以去做持久 化,也可以不做持久化,运行效率高,但对机器的内存要求也比较高

​ 常见的关系型数据库和非关系型数据及其区别

关系型数据库:

​ 主要是用来描述实体与实体之间关系

​ 实实在在存在的事物:男生和女生 学生和班级 员工和部分

​ E-R关系图:要求必须得会画

​ 实体:方框

​ 属性:椭圆

​ 关系:菱形

MYSQL数据库服务器

​ MYSQL数据库:数据库管理软件

​ 服务器:就是一台电脑,安装了相关的服务器软件,这些软件会监听不同的端口号,根据用户访问的端口号提供不同的服务

MYSQL的安装和卸载

卸载:

打开控制面板,删除软件

删除安装目录下的所有文件:C:\Program Files\MySQL 删除mysql数据存放文件:隐藏文件夹 ProgramData

安装:

运行安装程序:再启动配置教程之前,一路下一步,没有下一步的话就直接finish死一次finish之后启动服务器配置教程Wizardinclude myql bin directory to windows path端口号不要修改,字符集要选择UTF8,密码不要忘记了附录文档:重置Root密码.txt、MySQL安装图解.doc MYSQL的 SQL语句

​ SQL: Structure Query Language 结构化查询语言

DDL:数据定义语言:定义数据库、数据表的结构;指令:create(创建) drop(删除) alter(修改) DML:数据操纵语言:主要是用来操作数据 insert(插入) update(修改) delete(删除)

​ DCL:数据控制语言:定义访问权限,取消访问权限,安全设置 grant

DQL:数据查询语言:select(查询) from字句 where字句 数据库的CRUD的操作

CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中DataBase或者持久层的基本操作功能。

CRUD说的就是增查改删 C:Create 增加对应CREATE TBL …; ADD TBL IN (…) VALUES (…) R:Retrieve查询SELECT * from TBL U:Update修改UPDATE TBL …SET … D:Delete删除 DELETE FROM TBL WHERE …

首先要登录数据库服务器:mysql -uroot -p你的密码 创建数据库 create database 数据库的名字 create database day06; create database 数据库的名字 character set 字符集; create database day06_1 character set utf8; create database 数据库的名字 character set 字符集 collate 校对规则; create database day06_2 character set utf8 collate utf8_bin; 查看数据库 -- 查看数据库定义的语句 show create database 数据库的名字 show create database day06; show create database day06_2; -- 查看所有数据库 show databases; 注意不要删除一下项: information_schema performance_schema mysql

在这里插入图片描述 在这里插入图片描述

修改数据库的操作 -- 修改数据的字符集 alter database 数据库的名字 character set 字符集; alter database day06_1 character set gbk; 删除数据库 drop database 数据库的名字; drop database day06_2; 其他数据库操作命令 -- 切换数据库(选中数据库) use 数据库名字 use day06; -- 查看一下当前正在使用的数据库(实际上是调用的函数) select database(); 表的CRUD操作 创建表 create database 数据库的名字 create table 表名( 列名 列的类型 约束, 列名2 列的类型 约束 ); -- 列的类型: java sql int int char char string varchar char:固定长度 varchar:可变长度 char(3):1空格空格 varchar(3): 1 长度代表字符的个数,不代表字节大小。比如char(3)可以存3个utf8字符,占9个字节 double double float float boolean boolean date date: YYYY-MM-DD time: hh:mm:ss datetime : YYYY-MM-DD hh:mm:ss 默认值是null timestamp: YYYY-MM-DD hh:mm:ss 默认使用当前时间 text: 主要存放文本 blob : 存放的是二进制 -- 列的约束: 主键约束:primary key 唯一约束:unique 非空约束:not null -- 创建表: 1. 分析实体:学生 2. 学生ID 3. 姓名 4. 性别 5. 年龄 create table student( sid int primary key, sname varchar(10), sex int, age int ); 查看表 -- 查看表 show tables; -- 查看表的定义 show create table student; -- 查看表的结构 desc student; 修改表

添加列(add),修改列(modify),修改列名(change),删除列(drop),修改表名(rename),修改表的字符集

-- 添加列(add) alter table 表名 add 列名 列的类型 列的约束; alter table student add chengji int not null; -- 修改列(modify) alter table 表名 modify 列名 列的类型; alter table student modify sex varchar(2); -- 修改列名(change) alter table 表名 change 原列名 新列名 列的类型; alter table student change sex gender varchar(2); -- 删除列(drop) alter table 表名 drop 列名; alter table student drop chengji; -- 修改表名(rename),一般不要改动,不然用到表名的其他代码也要修改 alter table 原表名 to 新表名; rename table student to heima; -- 修改表的字符集,一般不要改动 alter table 原表名 character set 字符集; alter table heima character set gbk; 删除表 drop table heima; Sql完成对表中数据的CRUD的操作 插入数据(DML语言) insert into 表名(列名1,列名2,列名3) values(值1,值2,值3); insert into heima(sid,sname,gender,age,chengji) values(1,'zhangsan','b',23,100); -- 简单写法,如果插入的是全列名的数据,表名后面的列名可以省略 insert into 表名 values(值1,值2,值3); insert into heima values(1,'zhangsan','b',23,100); --由于sid为主键约束,所以不sid不能有重复的 insert into heima values(2,'zhangsan','b',23,100); -- 如果插入的部分列的话,列名不能省略 insert into heima(sid,sname,chengji) values(3,'lisi',99); insert into values(3,'lisi',99);-- 这种写法是错误的 -- 批量插入 insert into heima values (4,'wangwu','b',23,100), (5,'zhaoliu','b',23,100), (6,'sunqi','b',23,100), (7,'guoba','b',23,100); -- 单条插入和批量插入的效率 -- 查看表中的数据 select * from heima;

在这里插入图片描述

删除数据 delete from 表名 [where 条件] delete from student where sid=10; delete from student; 如果没有指定条件 会将表中数据一条一条全部删除掉 -- 面试问题:请说一下 delete删除数据和 truncate删除数据有什么差别 delete: DML 一条一条删除表中的数据 truncate: DDL先删除表再重建表 关于哪条执行效率较高:具体要查看表中的数据量 如果数据比较少,delete比较高效 如果数据比较多,truncate比较高效 更新表记录 update 表名 set 列名=列的值,列名2=列的值2 [where 条件] -- 将sid为5的名字改成李四 -- 如果参数是字符串,要加上单引号 update heima set sname='lisi' where sid=5; -- 如果where的条件判断为sid=0,则会将表中所有数据更新 update heima set sname='lisi' where sid=0; 查询记录 创建要使用的表 select [distinct][*][列名,列名2] from 表名 [where 条件] distinct:去除重复的数据 -- 商品分类:手机数码,鞋靴箱包 1.分类的ID 2.分类名称 3.分类描述 create table category( cid int primary key auto_increment, cname varchar(10), cdesc varchar(31) ); insert into category values(null, '手机数码', '电子产品'); insert into category values(null, '鞋靴箱包', '江南皮革厂,倾情打造'); insert into category values(null, '香烟酒水', '哈哈哈'); insert into category values(null, '酸奶饼干', '哈哈哈'); insert into category values(null, '馋嘴零食', '哈哈哈'); select * from category; select cname,cdesc from category; -- 所有商品 1.商品ID 2.商品名称 3.商品价格 4.生产日期 5.有效期 6.商品分类ID 商品和商品分类:所属关系 create table product( pid int primary key auto_increment, pname varchar(10), pprice double, pdate timestamp, pdate_end timestamp, cno int ); insert into product values(null,'小米mix4',998,null,null,1); insert into product values(null,'锤子',2888,null,null,1); insert into product values(null,'阿迪王',99,null,null,2); insert into product values(null,'茅台',998,null,null,3); insert into product values(null,'奥利奥',8,null,null,4); insert into product values(null,'辣条',3,null,null,5); 简单查询 -- 简单查询: -- -查询所有商品: select * from product; -- -查询商品名称和商品价格: select pname,pprice from product; -- -别名查询. as 的关键字, as 关键字可以省略 --表别名:select p.pname,p.pprice from product as p;(主要用在多表查询); --列别名:select pname as 商品名称,pprice as 商品价格 from product; 省略as关键字 select pname 商品名称,pprice 商品价格 from product; -- -去掉重复的值 -- 查询商品所有的价格 select pname from product; select distinct pname from product; -- select运算查询,并没有修改数据库,仅仅在查询结果上做了运算 select *,pprice*1.5 from product; 多了一列price*1.5 select *,pprice*1.5 as 折后价 from product; 给列price*1.5一个别名 select *,pprice*0.8 as 打8折后价 from product; 条件查询 -- 条件查询 [where关键字] 指定条件,确定要操作的记录 -- 查询商品的价格>60的所有商品信息 select * from product where pprice > 60; -- -where 后的条件写法 -- 关系运算符 > >= < 10 and price avg(price); -- 查出商品价格大于平均价格的所有商品 查出所有商品 select * from product; 大于 平均价格 select avg(pprice) from product; -- 字查询 select * from product where pprice > (select avg(pprice) from product); 分组 group by -- 分组:group by -- 1. 根据cno字段分组,分组后统计商品的个数 select cno,count(*) from product group by cno; -- 2.根据cno分组,分组后统计每组商品的平均价格 并且商品平均价格 > 60 select cno,avg(pprice) from product group by cno having avg(pprice)>80; -- having关键字 可以接聚合函数 出现在分组之后!!! -- where关键字 不可以接觉和函数,出现在分组之前!!! 关键字的编写顺序、执行顺序 -- 编写顺序 -- S..F..W..G..H..O select .. from .. where .. group by .. having .. order by -- 执行顺序 F..W..G..H..S..O from .. where .. group by .. having .. select .. order by -- from 只有得到表,才能进行后续工作 -- where 进行条件判断,之后还是一张表 -- group by 对其进行分组 -- having 条件筛选 -- select 控制显示 -- order by显示的结果进行一下排序


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭