数据库总结--数据库练习题及自己的理解

MySQL游标 1.游标的作用 在数据库的管理过程中,通过前面学习的 SELECT语句仅能返回符合指定条件的结果集,但是没有办法对结果集中的数据进行下一行的检索或每次一条记录一条录的单独处理等.此时,就可以利用 MySQL提供的游标机制进行处理 游标的本质是一种能从 SELECT结果集中每次提取一条记录的指针. 它主要用于交互式的应用程序,用户可以根据需要浏览或修改结果集中的数据.\ 2.游标的操作流程 游标在使用之前,必须通过定义,让其与指定的 SELECT语句相关联. 目的就是确定游标要操作的 SELECT结果集对 阅读详情
mysql复习
一:复习前的准备
1:确认你已安装wamp
2:确认你已安装ecshop,并且ecshop的数据库名为shop

二	基础知识:
1.数据库的连接
mysql -u -p -h
-u 用户名
-p 密码
-h host主机

2:库级知识
2.1 显示数据库: show databases;
2.2 选择数据库: use dbname;
2.3 创建数据库: create database dbname charset utf8;
2.3 删除数据库: drop database dbname;

3: 表级操作:
3.1 显示库下面的表
show tables;

3.2 查看表的结构: 
desc tableName;

3.3 查看表的创建过程: 
show create table  tableName;

3.4 创建表:
 create table tbName (
列名称1 列类型 [列参数] [not null default ],
....列2...
....
列名称N 列类型 [列参数] [not null default ]
)engine myisam/innodb charset utf8/gbk


3.4的例子:
create table user (
    id int auto_increment,
    name varchar(20) not null default '',
    age tinyint unsigned not null default 0,
   index id (id)
   )engine=innodb charset=utf8;
注:innodb是表引擎,也可以是myisam或其他,但最常用的是myisam和innodb,
charset 常用的有utf8,gbk;


3.5 修改表
3.5.1	修改表之增加列:
alter table tbName 
add 列名称1 列类型 [列参数] [not null default ] #(add之后的旧列名之后的语法和创建表时的列声明一样)

3.5.2	修改表之修改列
alter table tbName
change 旧列名  新列名  列类型 [列参数] [not null default ]
(注:旧列名之后的语法和创建表时的列声明一样)

3.5.3	修改表之减少列:
alter table tbName 
drop 列名称;


3.5.4	修改表之增加主键
alter table tbName add primary key(主键所在列名);
例:alter table goods add primary key(id)
该例是把主键建立在id列上

3.5.5	修改表之删除主键
alter table tbName drop primary key;

3.5.6	修改表之增加索引
alter table tbName add [unique|fulltext] index 索引名(列名);

3.5.7	修改表之删除索引
alter table tbName drop index 索引名;

3.5.8	清空表的数据
truncate tableName;

4:列类型讲解
列类型:
        整型:tinyint (0~255/-128~127) smallint (0~65535/-32768~32767) mediumint int bigint (参考手册11.2)
        参数解释:
        unsigned 无符号(不能为负)  zerofill 0填充  M 填充后的宽度
        举例:tinyint unsigned;
             tinyint(6) zerofill;   
数值型
        浮点型:float double
        格式:float(M,D)  unsigned\zerofill;


字符型
        char(m) 定长
        varchar(m)变长
        text

列          实存字符i        实占空间            利用率

char(M)      0<=i<=M            M                i/m<=100%

varchar(M)    0<=i<=M          i+1,2             i/i+1/2<100%
    

               year       YYYY	范围:1901~2155. 可输入值2位和4位(如98,2012)
日期时间类型   date       YYYY-MM-DD 如:2010-03-14
               time       HH:MM:SS	如:19:26:32
               datetime   YYYY-MM-DD  HH:MM:SS 如:2010-03-14 19:26:32
               timestamp  YYYY-MM-DD  HH:MM:SS 特性:不用赋值,该列会为自己赋当前的具体时间 



5:增删改查基本操作

5.1 插入数据 
	insert into 表名(col1,col2,……) values(val1,val2……); -- 插入指定列
	insert into 表名 values (,,,,); -- 插入所有列
	insert into 表名 values	-- 一次插入多行 
	(val1,val2……),
	(val1,val2……),
	(val1,val2……);


5.3修改数据
	update tablename 
	set 
	col1=newval1,  
	col2=newval2,
	...
	...
	colN=newvalN
	where 条件;

5.4,删除数据    delete from tablenaeme where 条件;

5.5,    select     查询

  (1)  条件查询   where  a. 条件表达式的意义,表达式为真,则该行取出
			   b.  比较运算符  = ,!=,< > <=  >=
                           c.  like , not like ('%'匹配任意多个字符,'_'匹配任意单个字符) 
				in , not in , between and
                           d. is null , is not null			
  (2)  分组       group by 
			一般要配合5个聚合函数使用:max,min,sum,avg,count
  (3)  筛选       having
  (4)  排序       order by
  (5)  限制       limit



6:	连接查询

6.1, 左连接
	.. left join .. on
	table A left join table B on tableA.col1 = tableB.col2 ; 
  例句:
  select 列名 from table A left join table B on tableA.col1 = tableB.col2
2.  右链接: right join
3.  内连接:  inner join

左右连接都是以在左边的表的数据为准,沿着左表查右表.
内连接是以两张表都有的共同部分数据为准,也就是左右连接的数据之交集.

7	子查询
  where 型子查询:内层sql的返回值在where后作为条件表达式的一部分
  例句: select * from tableA where colA = (select colB from tableB where ...);
  
  from 型子查询:内层sql查询结果,作为一张表,供外层的sql语句再次查询
  例句:select * from (select * from ...) as tableName where ....

  
8: 字符集
  客服端sql编码 character_set_client
  服务器转化后的sql编码 character_set_connection
  服务器返回给客户端的结果集编码     character_set_results
  快速把以上3个变量设为相同值: set names 字符集

   存储引擎 engine=1\2
  1 Myisam  速度快 不支持事务 回滚
  2 Innodb  速度慢 支持事务,回滚
  
  ①开启事务          start transaction
  ②运行sql;          
  ③提交,同时生效\回滚 commit\rollback

  触发器 trigger
  监视地点:表
  监视行为:增 删 改
  触发时间:after\before
  触发事件:增 删 改


  创建触发器语法
	create trigger tgName
	after/before insert/delete/update 
	on tableName
	for each row
	sql; -- 触发语句
	
  删除触发器:drop trigger tgName;


 索引
 提高查询速度,但是降低了增删改的速度,所以使用索引时,要综合考虑.
 索引不是越多越好,一般我们在常出现于条件表达式中的列加索引.
 值越分散的列,索引的效果越好

 索引类型
 primary key主键索引
 index 普通索引
 unique index 唯一性索引
 fulltext index 全文索引


综合练习:
连接上数据库服务器
创建一个gbk编码的数据库
建立商品表和栏目表,字段如下:

商品表:goods
goods_id --主键,
goods_name -- 商品名称
cat_id  -- 栏目id
brand_id -- 品牌id
goods_sn -- 货号
goods_number -- 库存量
shop_price  -- 价格
goods_desc --商品详细描述

栏目表:category
cat_id --主键 
cat_name -- 栏目名称
parent_id -- 栏目的父id



建表完成后,作以下操作:
删除goods表的goods_desc 字段,及货号字段
并增加字段:click_count  -- 点击量

在goods_name列上加唯一性索引
在shop_price列上加普通索引
在clcik_count列上加普通索引
删除click_count列上的索引


对goods表插入以下数据:
+----------+------------------------------+--------+----------+-----------+--------------+------------+-------------+
| goods_id | goods_name                   | cat_id | brand_id | goods_sn  | goods_number | shop_price | click_count |
+----------+------------------------------+--------+----------+-----------+--------------+------------+-------------+
|        1 | KD876                        |      4 |        8 | ECS000000 |           10 |    1388.00 |           7 |
|        4 | 诺基亚N8
DAMA-CDGA 练习题 - 第11章 数据仓库和商务智能 CDGA 练习题 - 第11章 数据仓库和商务智能 阅读详情

相关推荐

数据库查询语句练习题一(图书表)

相关题目: 1.显示前3名作者信息 SELECT * FROM authorsinfo ORDER BY authors_id LIMIT 0,3; 2.显示倒数后2名作者 SELECT * FROM authorsinfo ORDER BY authors_id DESC LIMIT 0,2; 3.显示最新借阅图书的信息 SELECT * FROM booksinfo WHERE b...

zs_66666的博客 8208

正在学习MySQL的你,需要练习题吗?

MySQL基础知识的练习题都在这里了哟,涵盖DDL、DML、DCL、列的约束、关键字、函数、条件筛选、排序、分组、嵌套、联合查询、分页查询...

Zhangguohao666的博客 2711

数据库练习题二

1.关系数据库中的视图属于4个数据抽象级别中的( ) A 外部模型 B 概念模型 C 逻辑模型 D 物理模型 2.在下列关于关系的陈述中,错误的是( ) A 表中任意两行的值不能相同 B 表中任意两列的值不能相同 C 行在表中的顺序无关紧要 D 列在表中的顺序无关紧要 3 SQL语言中,删除一个表的命令是( ) A DELETE B DROP C CLEAR D REMORE 4有一个网络数据库应

luckisok的专栏 5002

DAMA-CDGA 练习题 - 第14章 大数据和数据科学

CDGA 练习题 - 第14章 大数据和数据科学

qq_37123008的博客 986

MySQL数据库详细教程(附sql语句练习题及答案)

本文详细讲解了MYSQL数据库的SQL语句的快速入门使用及使用细节和注意事项,一看就会!每个知识点都有SQL语句的示例,绝对是小白学习的最佳教程!!

qq_45821255的博客 2003

[数据库]50道经典SQL练习题,使用MySQL5.7解答

[数据库]50道经典SQL练习题,使用MySQL5.7解答 网上流传较广的50道SQL训练, win10系统,MySQL5.7版本解答,全部实现 尽可能的使用了相对简洁和直接的解法, 当然也肯定会存在其它解答方法欢迎一起学习的朋友进行讨论和解法优化 数据表介绍 --1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年...

关注后厂程序员 2314

MYSQL 高级查询练习题 银行系统

MySQL 高级查询练习题 银行系统(含答案)

ChenNanXS的博客 1063

Oracle练习题

全是自己写的有可能出错--1 查询所有员工的年工资,所在的部门名称,按照年薪从低往高排序 --2 查询所有员工的编号姓名及其上级领导的编号姓名,显示结果按领导的工资降序排列 --3 查询非销售人员的工作名称,以及从事同一工作人员的月工资之和 筛选出月工资之和大于5000 输出结果按月工资之和降序排列 --4 查询所有领取奖金和不领取奖金的员工总数,平均工资 --5 显示所有工作在CHICAGO并且奖金不为空的员工姓名,工作地点,奖金 --6 显示所有姓名中含有A字符的员工姓名,工作地点 --7 显示

weixin_71452809的博客 1104

oracle 练习题

sqlplus sys/111111 as sysdba show parameter name; --建立test表空间 create tablespace test datafile 'D:\app/test.dbf' size 50m maxsize 1g autoextend on; show parameter name;  --显示数据库名,实例名等 show

天空之尘的博客 4881

sqlsever练习题答案word文档填空题选择题

一、填空题 1.用SELECT进行模糊查询时,可以使用( like或者not like )匹配符,但要在条件值中使用( %)或(_)等通配符来配合查询。并且,模糊查询只能针对字段类型是( 字符串 )的查询。 2.计算字段的累加和的函数是:( SUM ),统计项目数的函数是:( COUNT )。 3.关系数据模型中,实体用( 记录 )来表示。 4.数据管理技术经历了( 人工管理 )、( 文件系统 )和( 数据库系统 )三个阶段。 5.DBMS是( 数据库管理系统 ),它是介于( 用户 )和(操作系统)之间的一

weixin_50570276的博客 2568

MySQL的基础汇总(包含60道练习题)~~

MySQL的基础用法 增删改查 查询相关的内容 主键约束

m0_57870043的博客 1195

SQL练习3:商品销售数据库

参考:http://bbs.51cto.com/thread-572907-1.html 商品销售数据库Article(商品号 char(4),商品名char(16),单价 Numeric(8,2),库存量 int) Customer(顾客号char (4),顾客名 char (8),性别 char(2),年龄 int)OrderItem(顾客号 char(4),商品号 ch...

weixin_30908649的博客 6805

数据库原理与应用第1章练习题(数据库系统概述,数据模型,数据库系统结构)答案与分析

19.描述数据库全体数据的全局逻辑结构和特性的是( A ),用户或应用程序看到的那部分局部逻辑结构和特征的描述是( C ),它是模式的逻辑子集。6.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( DBS包括DB与DBMS )。7.数据独立性是数据库领域的重要概念,包括数据的( 逻辑独立性 )独立性和数据的( 物理独立性 )独立性。4.(单选)数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。( 0 )【恰恰相反】

qq_44242804的博客 331

eDP接口信号组成认识

eDP接口信号主要由Main Link、AUXCH与HPD三部分组成,如下图所示。 Main Link:表示主通道,用来传输各类型视频数据和音频数据; AUX CH:表示辅助通道,用于传输低带宽需求的数据,以及链路管理和设备控制信号; HPD:表示热插拔检测通道。 Main Link南1~4对数据线组成,每对数据线都是一对差分线。对于一款液晶屏而言,Main Link具体需几对数据线,这取决于屏幕的分辨率和彩色位数。 在该通道中传送的信号有视频像素信号、视频定时信号、视频格式信号、比特/像素及

精诚所至 2万+

RJ45以太网接口EMC设计方案

RJ45以太网接口EMC设计方案 一、 接口概述 RJ45以太网接口是目前应用最广泛的通讯设备接口,以太网口的电磁兼容性能关系到通讯设备的稳定运行。赛盛技术应用电磁兼容设计平台(EDP)软件从接口原理图、结构设计,线缆设计三个方面来设计以太网口的EMC设计方案。 二、 接口电路 原理图的EMC设计 百兆以太网接口2KV防雷滤波设计 图1 百兆以太网接口2KV防雷滤波设计 接口电路设计概述: 本方案从EMC原理上,进行了相关的抑制干扰和抗敏感度的设计;从设计层次解决EMC问题;同时此电路兼容了百兆以太网接

兰陵笑笑生SD的博客 1万+

电路方案分析(十二)USB Type-C PD 移动电源参考设计方案

TPD8S300为USB Type-C连接器的CC1,CC2,SBU1和SBU2引脚集成了四个通道的20v短到vbus和过压保护。TPD8S300集成了八个IEC61000-4-2ESD保护通道,用于USB Type-C连接器的CC1、CC2、SBU1、SBU2、DP_T (顶侧D-) 、DM_T (顶侧D-) 、DP_B (底侧D-) 引脚。当电源组是接收器并为其自身的电池充电时,该芯片会对电池充电,而在电源模式期间,该芯片充当DC-DC转换器以生成VBUS。

小幽余生不加糖 2万+

基于matlab版本的三维直流电法反演算法

可以使用RESINVM3D工具包等现成的MATLAB工具进行三维直流电法反演。反演问题求解:基于MATLAB的反演问题求解算法实现和应用,包括反演问题数值模拟、反演问题参数优化和反演问题结果分析。希望这个代码示例能帮助你入门三维直流电法反演。如果有更具体的需求或问题,可以进一步探讨。反演过程中可能需要调整正则化参数和优化算法的设置。需要根据实际问题实现,可能涉及复杂的数值计算。

ytttr873的博客 668

android so文件攻防实战-美团libmtguard.so反混淆

接下来的代码很多都是这种动态计算跳转地址的。修复结束之后跟踪指令,0x3434处的代码跳到了0x345A,0x345A处的代码主要逻辑是在0x34C6跳到0x34EC通过0x34EC动态计算地址跳到了0x3520,0x3524处的代码跳到了0x365C,0x366E处的代码跳到了0x35A8,0x35A8是JNI_OnLoad的主要逻辑。BEQ和BNE是一对条件相反的跳转,这之前计算出接下来指令的地址0x3430赋值给R4,loc_340C处的代码通过POP指令将R4的值给PC,看0x3430处的代码。

2503_90751938的博客 1381

安卓无障碍服务保活实战:如何用AccessibilityService实现后台常驻(附完整代码)

本文深入解析如何利用Android无障碍服务(AccessibilityService)实现后台服务保活,涵盖多版本系统适配、前台服务集成、开机自启机制等关键技术。通过详细的Kotlin代码示例和合规性指导,帮助开发者构建稳定可靠的后台服务解决方案,同时避免因滥用无障碍服务导致的应用下架风险。

milk5的博客 1071

YOLOv26与其他目标检测算法的对比分析

本文对YOLOv26与其他主流目标检测算法进行了全面对比分析。YOLOv26在COCO数据集上达到96.0% mAP@0.5和79.0% mAP@0.5:0.95,显著优于其他YOLO系列算法,同时保持85FPS的推理速度和35MB的轻量级模型。相比两阶段算法(如Faster R-CNN),YOLOv26在速度、模型大小和内存占用方面优势明显;相比Anchor-free算法(如CenterNet),YOLOv26在速度和模型压缩方面更优。其核心创新包括动态锚框分配、自注意力机制和轻量级设计,使其成为适用于复

一键难忘的博客 991

Python爬虫:爬取健身平台运动数据(跑步、骑行轨迹)

通过分析这些运动数据,用户能够了解自己的运动趋势、运动成绩,并作出相应的调整。通过使用Strava的API,我们成功地获取了用户的运动活动信息和运动轨迹数据,并进行了存储与可视化。Strava的API提供了丰富的数据接口,能够通过OAuth2认证获取用户的运动数据,包括历史数据、运动轨迹等信息。Strava的API还提供了获取活动轨迹数据的接口,返回的数据格式通常是GeoJSON格式,适用于地图可视化。随着大数据技术的发展,运动数据的分析和可视化为个人健康管理、运动训练计划的优化等提供了强大的支持。

2201_76125261的博客 1074

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 数据库总结--MySQL常见面试题
下一篇: 学习数据库笔记八
CodingAlarm
博客等级 码龄12年 28粉丝 72原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值