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,然后再按基本开发步骤即可