第一天总结数据库

1,描述一下创建数据库语法;
例如,使用命令创建数据库:

(1)创建一个班级db_1数据库,且使用默认编码;

create database db_1;

(2)创建一个班级db_2数据库,charset设置编码为utf8;

create database db_2 charset utf8;

2,如何查看数据库,表信息

(1) 查看有哪些数据库;

show databases;

(2), 查看数据库的创建语句;

show create database xxx;
3,如何删除数据库

例如,使用命令来删除数据库班级db_2。

drop database if exisits db_2;
4,如何查看当前正在使用的数据库
select database();
5,有哪些字段类型
1,整数类型
2,浮点数和定点数类型
3,日期和时间类型
4,文本类型
6,整数有哪些类型,列出三个,并说出他们的字节大小
1,int   字节大小:4
2,bigint 字节大小:8
3,tinyint 字节大小:1
7,浮点数类型有哪些?要求全部说出
1,float   字节:4
2,double   字节:8
3,decimal(m,n)    m表示整数的总长度,n表示小数的总长度
8,有哪些时间类型,给出他们的示例
1,time   示例:12:00:00
2,date   2024-8-16
3,timestap  2024-8-16 12:00:00     给出年月日,会自动补充时分秒
4,datetime   2024-8-16 12:00:00

9,图片类型应该如何存储
在mysql中,存储图片的方式是存储图片所在的位置,即保存路径名;
10,在班级db_user数据库中,继续新建一个只有姓名字段的学生表,然后查看库中有哪些数据表;
create table student(
    name varchar(10)
);
show tables;
11,删除学生表后,再查看有哪些数据表。
drop table student;
show tables;

DML操作

1,描述一下给数据表添加一列的语法
alter table  add 字段名 类型(长度);
alter table  add 字段名 类型(长度) [first|after 其他字段名称];
2,修改列类型
alter table modify 要修改的字段名 类型(长度);
​
3,修改列名
alter table 表名 change 旧列名 新列名 类型(长度) [约束];
4,给数据表删除一列的语法
alter table 表名 drop 列名;
​
5,修改表名
rename table 表名 to 新表名;

数据库基础

1,描述一下mysql的引擎:
1,InnoDB,事务处理引擎,但不支持全文搜索
2,MyIsam,支持全文搜索,但不支持事务处理
3,memory,功能和myisam一样,但是其运行在内存里
2,谈一谈delete和truncate的区别
1,delete属于dml,而truncate属于ddl
2,delete可以带条件删除,而truncate不可以
3,delete只删除数据,但主键自增序列不清零;而truncate删除大量数据速度快,主键自增序列清零
4,delete删除数据时,是一条一条的删除数据记录,效率低;truncate删除数据时,是将整个表销毁,然后再创建一张一模一样的表,并且用auto_increment修饰的字段将重置为0重新开始计算。
3,sql有哪些约束
1,主键约束,是id为int类型的,并且具有唯一性和非空性
2,非空约束,传递值必须为非null值
3,唯一约束,表的列可以有很多唯一约束,给该字段添加已有值的话会报错
4,删除主键约束后会什么样?
删除主键约束后,非空约束依然存在
5,给last_name字段设定为唯一约束,先后给last_name姓名字段传递两个一样的值,效果如何?
会报错,显示重复的值;Duplicate entry xxx for key 'unique_test.lastname'
6,讲述一下模糊查询
select * from 表名 where 字段名 like '%某个字%'; 
或
select * from 表名 where 字段名 like '某个字_';
其中'%'代表多个任意字符,而_代表一个任意字符;
7,描述一下limit分页
select 字段名1,字段名2,... from 表名 limit M, N;
​
# M: 整数,表示从第几条索引开始,计算方式:(当前页-1) * 每页显示条数;
# N: 整数,表示查询多少条数据.
(1)limit是分页查询的关键字;
(2)M为整数,表示从第几条索引开始,默认值是0;
(3)N为整数,表示查询多少条数据。
​
8,简述一下多对多的关系
通常需要创建第三张表(综合表),并作为中间表,且该表至少有两个字段(都是外键),分别作为外键字段指向各自一方的主键。通俗地说,就是将一个多对多关系拆分成:两个一对多关系的数据表。
9,描述一下主外键
外键是另一张表的主键,外键的值必须对应另一张表的主键值.不能随便给已关联的表随意添加数据和删除数据,不然会报错
10,讲述一下左右外连接的区别
1,左外连接包含了左边所有数据,根据左表来查右表的数据,当右表数据不存在时用null来填充
2,右连接和左连接相反
可视化kettle平台
1,什么是kettle?
Kettle是一款开源的ETL工具,由Java语言开发,可用于数据库间的数据迁移。
并可以在Windows、Linux、Unix等系统中运行,运行时有图形界面,也有命令脚本,还支持二次开发
2,kettle基本开发步骤
(1)新建转换/作业;
​
(2)构建Kettle的数据流图;
​
(3)配置数据流图中的各个组件;
​
(4)保存并启动执行。
​
3,大致描述一下如何把excel的数据导入到mysql中
1,先在dategrip连接mysql
2,然后创建数据库
3,在kettle要加载mysql驱动,(A)将资料中的MySQL jdbc驱动包【mysql-connector-java-8.0.13.jar】导入到 【data-integration/lib】中
(B)找到data-integration\simple-jndi\jdbc.properties文件编辑,在末尾加上连接信息:
(C)添加完成后,重启Kettle即可。
4,然后再按基本开发步骤即可
​

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值