川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

MySQL数据库表记录的操作

作者:川石学院 日期:2021-03-22 16:17:06 点击数:

        学习案例介绍 mysql [OPTIONS] [database] --help, #help 显示帮助信息 -e, #execute=name 执行指定命令,命令行模式 -u, #user=name 指定连接的用户 -h, #host=name 指定主机名 -p, #password 指定密码 -P, #port 指定端口(注意大写) c:\wamp\mysql\bin>mysql -h 192.168.126.130 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.73-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 数据库名 自定义,比如ecshop 基字符集 根据实际情况选择,比如utf8 数据库排序规则 根据实际情况选择,比如utf8_general_ci 以项目二ECShop数据库为例. 创建MySQL数据库 SQLyog的左侧浏览面板中选择数据库连接,右键选择"创建数据库",在弹出的"创建数据库"窗口中: 设置好后,点击"创建",在左侧的浏览面板中可以看到创建的数据库. 执行数据库脚本 在左侧浏览面板中依次选择"数据库连接->数据库",右键选择"导入->执行数据库脚本",在弹出的"从一个文件执行查 询"窗口选择脚本,然后点击"执行"按钮即可. ecshop数据库字典 SQL语言 SQL(Structured Query Language)的含义是结构化查询语言.SQL 是用于访问和处理数据库的标准的计算机语言。 SQL有多种不同的标准,常见有SQL89,SQL92与SQL99标准. SQL分类 1.创建MySQL数据库 2.执行数据库脚本创建MySQL数据库 SQLyog的左侧浏览面板中选择数据库连接,右键选择"创建数据库",在弹出的"创建数据库"窗口中: 数据库名 自定义,比如ecshop 基字符集 根据实际情况选择,比如utf8 数据库排序规则 根据实际情况选择,比如utf8_general_ci 以项目二ECShop数据库为例. 创建MySQL数据库 SQLyog的左侧浏览面板中选择数据库连接,右键选择"创建数据库",在弹出的"创建数据库"窗口中: 设置好后,点击"创建",在左侧的浏览面板中可以看到创建的数据库. 执行数据库脚本 在左侧浏览面板中依次选择"数据库连接->数据库",右键选择"导入->执行数据库脚本",在弹出的"从一个文件执行查 询"窗口选择脚本,然后点击"执行"按钮即可. ecshop数据库字典请参考 <<ECSHOP-v3.0-完整版数据字典-数据库结构.docx>> 熟悉几张表: ecs_users; #用户表 ecs_goods; #商品表 ecs_goods_type; #商品类型表 ecs_brand; #商品品牌表 ecs_order_info; #订单表 ecs_shipping; #配送方式表 ecs_order_goods; #订单商品表 ecs_cart; #购物车表

MySQL数据库表记录的操作(图1)

        SQL(Structured Query Language)的含义是结构化查询语言.SQL 是用于访问和处理数据库的标准的计算机语言。 SQL有多种不同的标准,常见有SQL89,SQL92与SQL99标准. DDL(Defifinition数据定义语言) create,drop,alter 创建,删除与修改数据库中的对象 DML(Manipulation数据操作语言) insert,delete,update 插入,删除与更新数据库表中的数据 DQL(Query数据查询语言) select 从数据库表中检索数据 DCL(Control数据控制语言) grant,revoke 控制用户对数据库执行的操作 数据查询语言. 从数据库表中检索数据. select命令 select语句 自然语句: 句子成分 主谓宾 定状补 select语句: 由若干个子句构成,每一个子句由一个关键字引导 一般select语句包含6大子句.select 指定查询结果集中你想要的列 必选 from 指定数据来源(表或视图) 可选 where 过滤from后指定表中的数据 可选 group by 指定数据分组的依据 可选 having 过滤分组统计后的数据 可选 order by 指定数据排序的依据 可选 语法: select list from tabs where search_condition group by grouping_columns having search_condition order by sort_columns; #执行顺序 from(join) --> where --> group by --> having --> select --> order by简单查询 语法: 查看表结构 语法: MySQL数据类型 书写SQL语句注意事项 select list from tab_name order by sort_columns; desc tab_name #DESCRIBE describe tab_name mysql> desc ecs_goods_type; +----------+--------------------+----+---+-------+--------------+ | Field | Type |Null|Key|Default| Extra | +----------+--------------------+----+---+-------+--------------+ | cat_id |smallint(5) unsigned| NO |PRI| NULL |auto_increment| | cat_name |varchar(60) | NO | | | | | enabled |tinyint(1) unsigned | NO | | 1 | | |attr_group|varchar(255) | NO | | | | +----------+--------------------+----+---+-------+--------------+ 4 rows in set (0.03 sec) MySQL数据类型 整数类型 TINYINT,SMALLINT,MEDIUMINT,INT(INTEGER),BIGINT 浮点数类型与定点数类型 FLOAT,DOUBLE,DECIMAL 日期与时间类型 YEAR,TIME,DATE,DATETIME,TIMESTAMP 字符串类型 CHAR,VARCHAR,TEXT,ENUM,SET#列出所有品牌信息(查询需求) #思路 1.确定表 可以查看数据的设计文档(数据字典);问开发,问DBA ecs_brand 2.确定列 可以通过查看表结构来熟悉表. SELECT brand_name FROM ecs_brand; #查询单列 SELECT brand_id,brand_name FROM ecs_brand; #查询多列 SELECT * FROM ecs_brand; #查询所有列书写SQL语句注意事项 不区分大小写 关键字与[非]关键字之间用空格或换行符分隔 多个列之间用,分隔 *代表所有的列 ;表示SQL语句结束 注释使用 # 单行注释 /*内容*/ 多行注释 单独选中命令执行 怎样去掉重复的记录或行 语法select distinct list from tab_name ... #找出商品表中有哪些商品类型 SELECT * FROM ecs_goods; SELECT DISTINCT goods_type FROM ecs_goods; 排序 是由order by子句来实现的. 排序方式: 按列名 select ...,col_name,... from tab_name order by col_name; #按照商品市场价格排序 SELECT goods_id,goods_type,goods_name,market_price FROM ecs_goods ORDER BY market_price; 列序号 select c1,c2,...,cn # 1 2 ... n from tab_name order by i; #按照商品名称排序 SELECT goods_id,goods_type,goods_name,market_price FROM ecs_goods ORDER BY 3;select ...,col_name alias_name,... from tab_name; select ...,col_name as alias_name,... from tab_name; SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY 商品编号; select ...,col_name alias_name,... from tab_name order by alias_name; #安装商品编号别名排序 SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY 商品编号; select list from tab_name order by col_name [asc] #默认升序 asc可选 order by col_name desc #降序排序 desc必选 #按照商品市场价格降序排序 SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY market_price DESC; select list from tab_name order by c1,c2,...,cn; #按照商品类型升序,市场价格降序排序 SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY goods_type,market_price DESC;是由where子句来实现的. 语法: select ...,col_name alias_name,... from tab_name; select ...,col_name as alias_name,... from tab_name; SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY 商品编号; select ...,col_name alias_name,... from tab_name order by alias_name; #安装商品编号别名排序 SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY 商品编号; select list from tab_name order by col_name [asc] #默认升序 asc可选 order by col_name desc #降序排序 desc必选 #按照商品市场价格降序排序 SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY market_price DESC; select list from tab_name order by c1,c2,...,cn; #按照商品类型升序,市场价格降序排序 SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格 FROM ecs_goods ORDER BY goods_type,market_price DESC;原理比较谓词 比较两个值表达式返回的值的大小关系是否成立. 数据库查找数据的方式 ? 全表扫描 从表中的第一行按照顺序一直查找到最后一行. ? 索引扫描 按照表建立起来的索引查找数据. 范围谓词 判断值表达式返回的值是否在一个区间范围内. select list from tabs where search_conditions; where 条件谓词 --> true 表示满足条件 返回数据行 -->false 表示不满足条件 丢弃数据行 -->unknown 表示不满足条件 丢弃数据行 where 多个条件 复合谓词: 基本谓词通过逻辑运算符连接起来的式子 逻辑运算符: and or not 复合谓词经过逻辑运算 --> true false unknownnot关键字 当谓词的条件难以描述时,可以写出其相反的条件,再使用not关键字进行否定. #找出设置了密码提示问题用户信息 SELECT * FROM ecs_users WHERE passwd_question IS NOT NULL; #课堂练习 1.找出库存告急的商品信息 2.找出商品类型为2,3,4,5,6的所有商品信息 3.找出商品关键字中包含"直板"的商品信息 4.找出市场价格不在[1000,2000]区间的商品信息 5.找出email是163.com的用户信息。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-03-22 16:17:06
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-03-22 16:17:06
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-03-22 16:17:06
  • 建筑工程专业朱同学成功转行为软件测试人!2021-03-22 16:17:06
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-03-22 16:17:06
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-03-22 16:17:06
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-03-22 16:17:06
  • 文科生转行软件测试照样拿下高薪15K!2021-03-22 16:17:06
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-03-22 16:17:06
  • 毕业1年,迷茫的他最终选择转行软件测试2021-03-22 16:17:06