数据库连接的字符集配置如何配置

时间: 2023-08-05 08:09:23 浏览: 29
数据库连接的字符集配置可以通过以下几种方式进行配置,具体方法取决于你使用的数据库管理系统: 1. MySQL数据库:对于MySQL数据库,可以在连接字符串或连接配置中指定字符集。示例连接字符串如下: ``` jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=UTF-8 ``` 在这个示例中,使用了UTF-8字符集作为连接的字符编码。 2. PostgreSQL数据库:对于PostgreSQL数据库,可以在连接字符串或连接配置中设置客户端编码。示例连接字符串如下: ``` jdbc:postgresql://localhost:5432/database_name?client_encoding=UTF8 ``` 在这个示例中,使用了UTF-8字符集作为客户端编码。 3. Oracle数据库:对于Oracle数据库,可以通过设置NLS_LANG环境变量来指定连接的字符集。例如,可以将NLS_LANG设置为AMERICAN_AMERICA.AL32UTF8来使用UTF-8字符集。 根据你使用的具体数据库管理系统和驱动程序,字符集配置的具体方法可能会有所不同。建议查阅相关数据库的官方文档或驱动程序的文档,以了解更详细的配置方法和选项。
相关问题

查看mysql数据库字符集配置

你可以通过以下步骤查看MySQL数据库的字符集配置: 1. 登录到MySQL数据库,在命令行中输入以下命令: ``` mysql -u username -p ``` 其中,`username` 是你的MySQL用户名。 2. 输入密码后,进入MySQL命令行界面。 3. 输入以下命令查看MySQL的字符集配置: ``` show variables like '%character%'; ``` 这会显示MySQL当前的字符集配置。 其中,`character_set_client` 表示客户端字符集,`character_set_connection` 表示连接字符集,`character_set_database` 表示数据库字符集,`character_set_filesystem` 表示文件系统字符集,`character_set_results` 表示结果字符集,`character_set_server` 表示服务器字符集。 4. 如果你只想查看数据库字符集配置,可以使用以下命令: ``` show variables like 'character_set_database'; ``` 这会显示MySQL当前的数据库字符集配置。

连接Oracle配置时设置字符集

在连接Oracle数据库时,可以通过设置字符集来确保数据的正确性和一致性。以下是在连接Oracle时设置字符集的步骤: 1. 打开Oracle客户端(如SQL*Plus或SQL Developer)。 2. 在登录窗口中输入用户名、密码和数据库连接信息。 3. 在连接信息中找到字符集选项,并选择你需要的字符集。 4. 如果你想更改默认字符集,可以在Oracle服务器上修改NLS_LANG参数。这可以通过修改Oracle的“init.ora”文件或使用ALTER SYSTEM命令来完成。 5. 确认连接后,在执行SQL语句之前,可以使用以下命令检查当前会话的字符集: ``` SELECT USERENV('LANGUAGE') FROM DUAL; ``` 这将返回当前会话的字符集。 请注意,设置正确的字符集非常重要,因为它可以影响数据的正确性和一致性。如果你不确定应该使用哪个字符集,建议咨询数据库管理员或Oracle支持团队。

相关推荐

对于MySQL线上数据库配置,以下是一些常见的配置项和建议: 1. 字符集配置: - 设置字符集为UTF-8(或者utf8mb4),以支持存储和处理各种语言的数据。 - 在my.cnf配置文件中的[mysqld]段中添加如下配置: character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci 2. 缓冲配置: - 配置适当的缓冲区来提高性能。常见的缓冲区包括: - key_buffer_size:索引缓冲区大小,用于存储索引数据。 - innodb_buffer_pool_size:InnoDB引擎的缓冲池大小,用于存储数据和索引。 - 根据服务器的可用内存和数据库的大小进行调整。 3. 连接和并发配置: - 配置最大连接数(max_connections)来限制同时连接到数据库的客户端数量。根据实际需求和服务器资源进行调整。 - 配置适当的线程缓冲区大小(thread_cache_size)以提高连接性能。 4. 查询优化配置: - 配置查询缓存(query_cache)来缓存查询结果,以提高性能。但请注意,对于高并发写入的场景,查询缓存可能会导致性能下降。 - 配置适当的innodb_buffer_pool_instances参数,以实现更好的并发性能。 5. 日志配置: - 配置适当的日志记录级别,以便在需要时进行故障排查和性能分析。 - 根据需要启用慢查询日志(slow query log),以帮助识别和优化性能较差的查询。 注意:以上只是一些常见的配置项和建议,具体的配置可能会根据业务需求和服务器资源进行调整。在进行任何配置更改之前,建议先备份数据库,并在测试环境中进行验证。此外,确保了解每个配置项的含义和影响,以避免潜在的问题或安全风险。
在使用Autofac配置数据库时,可以按照以下步骤进行操作: 1. 创建一个ContainerBuilder对象,并注册需要的组件和服务。可以使用builder.RegisterType<T>()方法将类型T注册到容器中。例如,可以使用builder.RegisterType<DatabaseManager>()将DatabaseManager类注册到容器中。\[1\] 2. 如果需要使用配置文件中的设置,可以使用builder.RegisterModule<T>()方法注册一个模块。模块可以从配置文件中读取设置并进行注入。例如,可以使用builder.RegisterModule<ConfigurationSettingsReader>("autofac")从配置文件中读取设置并进行注入。\[1\] 3. 如果需要使用DbContext连接字符串,可以使用builder.Register(c => {...})方法注册一个DbContextOptions对象。在这个方法中,可以使用DbContextOptionsBuilder来配置连接字符串,并返回Options对象。例如,可以使用optionsBuilder.UseSqlServer(Configuration.GetConnectionString("TeasingDbContext"))来配置连接字符串。\[2\] 4. 注册DbContext对象。可以使用builder.RegisterType<T>()方法将DbContext类注册到容器中。例如,可以使用builder.RegisterType<TeasingDbContext>().AsSelf().InstancePerLifetimeScope()将TeasingDbContext类注册到容器中,并指定生命周期范围。\[2\] 5. 构建容器并返回一个IServiceProvider对象。可以使用builder.Build()方法构建容器,并使用AutofacServiceProvider将其包装成一个IServiceProvider对象。这样可以在应用程序中使用IServiceProvider来解析依赖项。例如,可以使用return new AutofacServiceProvider(Container)来返回一个IServiceProvider对象。\[2\] 综上所述,以上是使用Autofac配置数据库的一种方法。根据具体的需求和情况,可能需要进行适当的调整和修改。 #### 引用[.reference_title] - *1* *3* [.Net IOC框架入门之——Autofac](https://blog.csdn.net/csdnsunyf/article/details/102470344)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Autofac程序集注入](https://blog.csdn.net/sunyong8860/article/details/119847267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
### 回答1: application.properties是Spring Boot项目中的配置文件,用于配置应用程序的各种属性。其中,配置数据库的属性如下: # 数据库配置 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver 其中,spring.datasource.url是数据库连接地址,spring.datasource.username和spring.datasource.password是数据库的用户名和密码,spring.datasource.driver-class-name是数据库驱动程序的类名。这些属性可以根据实际情况进行修改。 ### 回答2: 在使用Spring Boot框架开发应用时,常常需要连接数据库来存取数据。而连接数据库的配置通常都是在application.properties文件中进行。本文将介绍如何在application.properties文件中配置数据库。 1. 首先需要选择一个合适的数据库,通常会选择MySQL、Oracle、PostgreSQL、SQL Server等常用的关系型数据库。在选择数据库时,需要考虑实际业务需求、性能要求和数据安全等因素。 2. 在选择好数据库后,在应用的pom.xml文件中引入相关的依赖,例如: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.oracle.ojdbc</groupId> <artifactId>ojdbc8</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> </dependency> 3. 然后在application.properties文件中配置数据库连接相关信息,例如: #MySQL数据库 spring.datasource.url=jdbc:mysql://localhost:3306/test_db spring.datasource.username=root spring.datasource.password=123456 #Oracle数据库 spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl spring.datasource.username=system spring.datasource.password=123456 #PostgreSQL数据库 spring.datasource.url=jdbc:postgresql://localhost:5432/test_db spring.datasource.username=postgres spring.datasource.password=123456 #SQL Server数据库 spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=test_db spring.datasource.username=sa spring.datasource.password=123456 4. 其中,spring.datasource.url表示数据库的连接地址,可以根据实际情况修改;spring.datasource.username和spring.datasource.password表示数据库的用户名和密码,同样也需要根据实际情况修改。 5. 如果需要指定其他配置,可以增加如下配置: #指定JDBC驱动类名 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver #指定初始化连接池大小 spring.datasource.initialSize=5 #指定连接池最大值 spring.datasource.maxActive=50 #指定获取连接的最大等待时间,毫秒为单位 spring.datasource.maxWait=60000 #指定测试连接是否可用的SQL语句 spring.datasource.validationQuery=SELECT 1 #指定空闲连接的最大存活时间,毫秒为单位 spring.datasource.maxIdle=30 #指定连接池中最小的连接数 spring.datasource.minIdle=5 #指定数据库字符集 spring.datasource.connectionProperties=useUnicode\=true&characterEncoding\=UTF-8 以上就是如何在application.properties文件中配置数据库连接的方法,通过以上配置,应用就可以使用数据库来存取数据了。 ### 回答3: application.properties是Spring Boot中常用的配置文件之一,它主要用于配置应用程序中的不同组件,包括但不限于数据库、邮件、缓存等。在配置数据库时,我们可以使用如下方式: 1. 配置数据库连接信息: spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=123456 其中,spring.datasource.url用于指定数据库的连接地址和端口号,mydb为要连接的数据库名称;spring.datasource.username和spring.datasource.password分别用于指定数据库的用户名和密码,这些信息需要根据实际情况来进行配置。 2. 配置数据库连接池信息: spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.initialSize=10 spring.datasource.maxActive=50 spring.datasource.maxWait=60000 spring.datasource.minIdle=5 spring.datasource.testWhileIdle=true spring.datasource.validationQuery=SELECT 1 其中,spring.datasource.driver-class-name用于指定数据库的驱动类;spring.datasource.initialSize和spring.datasource.maxActive用于配置数据库连接池的初始大小和最大连接数;spring.datasource.maxWait用于指定从连接池中获取连接的最大等待时间;spring.datasource.minIdle用于指定连接池中保持的最小空闲连接数;spring.datasource.testWhileIdle和spring.datasource.validationQuery分别用于测试连接是否有效。 3. 配置数据库方言和生成策略: spring.jpa.database=mysql spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 其中,spring.jpa.database用于指定使用的数据库类型;spring.jpa.hibernate.ddl-auto用于指定生成表的策略,如update表示根据实体类自动更新表结构;spring.jpa.show-sql用于指定是否显示SQL语句;spring.jpa.properties.hibernate.dialect用于设置使用的方言,可以根据不同的数据库类型进行配置。 以上就是常用的application.properties配置数据库的方法,需要根据实际情况进行配置,以确保应用程序能够正常连接数据库并运行。
安装Oracle数据库需要以下步骤: 1. 下载Oracle数据库安装文件(包含Oracle数据库软件和Oracle数据库实例)。 2. 解压缩安装文件。 3. 运行安装程序,选择要安装的组件(数据库软件和数据库实例)。 4. 配置数据库实例参数,例如数据库名称、端口号、字符集等。 5. 创建数据库实例。 6. 启动数据库实例。 以下是安装Oracle数据库的详细步骤: 1. 下载Oracle数据库安装文件 在Oracle官方网站上下载适用于您的操作系统的Oracle数据库安装文件。您需要选择适合您操作系统的版本,并且下载两个文件:Oracle数据库软件和Oracle数据库实例。 2. 解压缩安装文件 将下载好的两个文件解压缩到同一目录下。 3. 运行安装程序 在解压缩后的目录下,运行安装程序。在Windows操作系统下,双击“setup.exe”文件;在Linux操作系统下,运行“runInstaller”命令。安装程序会启动,并显示“Oracle Universal Installer”窗口。 4. 选择要安装的组件 在“Oracle Universal Installer”窗口中,选择要安装的组件。您需要选择Oracle数据库软件和Oracle数据库实例。如果您只需要安装Oracle数据库软件,可以跳过这一步。 5. 配置数据库实例参数 在“Oracle Universal Installer”窗口中,选择要配置的数据库实例参数。您需要为数据库实例命名,并设置端口号、字符集等参数。如果您没有特殊需求,可以使用默认参数。 6. 创建数据库实例 在“Oracle Universal Installer”窗口中,确认数据库实例参数,并创建数据库实例。这一步可能需要一些时间,具体时间取决于您的计算机性能和安装文件大小。 7. 启动数据库实例 在安装完成后,需要启动数据库实例。您可以使用Oracle提供的“dbstart”命令启动数据库实例。启动数据库实例后,您可以使用PL/SQL开发工具连接到数据库实例并开始编写代码。 注意:在安装Oracle数据库时,需要具有管理员权限。此外,安装程序需要一些硬件资源,例如磁盘空间和内存。在安装过程中,请确保您的计算机可以满足这些要求。
### 回答1: 达梦数据库连接jar包是用于连接达梦数据库的Java开发工具包。在使用Java编程语言进行数据库开发时,我们需要使用相应的数据库连接驱动来实现与数据库的连接和操作。达梦数据库连接jar包提供了与达梦数据库进行连接的必要组件和接口。 达梦数据库连接jar包通常由达梦数据库厂商提供,可以从官方网站或其他可信的资源中下载。一般来说,使用达梦数据库连接jar包可以提供以下功能: 1. 连接数据库:通过调用相应的API,我们可以建立与达梦数据库的连接。这样我们就可以在Java程序中通过发送SQL语句来对数据库进行增删改查等操作。 2. 执行SQL语句:借助达梦数据库连接jar包,我们可以执行各种SQL语句,例如SELECT、INSERT、UPDATE等,以满足对数据库的需求。 3. 获取查询结果:通过执行SELECT语句,我们可以获得数据库查询的结果集。达梦数据库连接jar包提供了相应的API,方便我们从结果集中提取数据并进行处理。 4. 事务管理:达梦数据库连接jar包还支持事务管理的功能,可以确保多个数据库操作的一致性和完整性。 需要注意的是,在使用达梦数据库连接jar包之前,我们需要先将其添加到Java项目的classpath中,以便程序能够正常加载和使用相关的类和接口。 总之,达梦数据库连接jar包为开发者提供了连接和操作达梦数据库的基础功能。通过合理使用这些功能,我们能够更加便捷地进行Java数据库开发工作。 ### 回答2: 达梦数据库连接jar包是用于在Java程序中连接并操作达梦数据库的工具。通过引入达梦数据库连接jar包,我们可以通过Java程序与达梦数据库建立连接,进行数据的增删改查操作。 使用达梦数据库连接jar包连接达梦数据库的步骤如下: 1. 下载达梦数据库连接jar包,可以从达梦官方网站或其他可靠来源获取。 2. 将下载的jar包导入到Java项目中,可以将其放置在项目的lib文件夹下。 3. 在Java代码中引入所需的类和包,一般是通过import语句进行。 4. 通过代码创建一个数据库连接对象,使用连接对象建立与数据库的连接。可以使用提供的DriverManager.getConnection()方法,传入数据库连接字符串、用户名和密码等参数。 5. 执行数据库操作,如执行SQL语句来查询、插入、更新或删除数据。 6. 对于查询操作,可以使用ResultSet对象来获取查询结果。 7. 关闭数据库连接,释放资源。 使用达梦数据库连接jar包的好处是可以方便地在Java程序中集成达梦数据库的功能,使我们能够更轻松地操作和管理数据库。在实际使用中,需要根据具体需求选择合适的达梦数据库连接jar包版本,并根据文档中提供的方法和示例代码进行配置和使用。达梦数据库连接jar包提供了丰富的功能和API,能够满足我们的各种数据库操作需求。 ### 回答3: 达梦数据库(DMDB)是一种高性能的关系型数据库管理系统,它为用户提供了可靠的数据存储和管理服务。若要在Java应用程序中连接达梦数据库,需要使用相应的连接驱动jar包。 达梦数据库连接jar包是一个Java库文件,它包含了连接达梦数据库所需的类和方法。通过使用这个jar包,我们可以方便地在Java应用程序中建立与达梦数据库的连接,进行数据的读写操作。 为了使用达梦数据库连接jar包,首先需要下载该jar包,并将其添加到Java项目的类路径中。然后,我们可以使用Java代码来加载驱动程序、建立数据库连接以及执行SQL语句。 要加载驱动程序,我们可以使用Class.forName()方法来指定达梦数据库的驱动程序名称。接下来,我们可以使用DriverManager类的getConnection()方法来建立数据库连接,需要提供数据库URL、用户名和密码等连接信息。 一旦与达梦数据库建立了连接,我们就可以通过Connection对象来执行SQL语句。可以使用Statement或PreparedStatement接口的实现类来创建执行SQL语句的对象,然后可以调用其executeQuery()方法执行查询语句,或调用executeUpdate()方法执行更新语句。 执行完SQL语句后,可以使用ResultSet对象来获取查询结果,并通过遍历或特定方法来处理结果集中的数据。 需要注意的是,在使用达梦数据库连接jar包时,应该对连接资源进行适当的释放。可以通过调用close()方法关闭连接和释放资源,以避免因连接资源未释放而导致的内存泄漏和性能问题。 总之,达梦数据库连接jar包提供了在Java应用程序中连接达梦数据库的必要类和方法。通过合理使用这些类和方法,我们可以方便地连接达梦数据库,并进行相应的数据库操作。

最新推荐

导入数据库常见错误,方法经验总结

文章目录1、连接数据库时提示密码出错2、mysql的版本与导入的数据所用的版本不同3、navicat中创建数据库时,所定义的字符集与原数据库使用的字符集不同4、mysql配置文件中设置的最大容量不够了5、在phpstudy中重启...

基于单片机温度控制系统设计--大学毕业论文.doc

基于单片机温度控制系统设计--大学毕业论文.doc

ROSE: 亚马逊产品搜索的强大缓存

89→ROSE:用于亚马逊产品搜索的强大缓存Chen Luo,Vihan Lakshman,Anshumali Shrivastava,Tianyu Cao,Sreyashi Nag,Rahul Goutam,Hanqing Lu,Yiwei Song,Bing Yin亚马逊搜索美国加利福尼亚州帕洛阿尔托摘要像Amazon Search这样的产品搜索引擎通常使用缓存来改善客户用户体验;缓存可以改善系统的延迟和搜索质量。但是,随着搜索流量的增加,高速缓存不断增长的大小可能会降低整体系统性能。此外,在现实世界的产品搜索查询中广泛存在的拼写错误、拼写错误和冗余会导致不必要的缓存未命中,从而降低缓存 在本文中,我们介绍了ROSE,一个RO布S t缓存E,一个系统,是宽容的拼写错误和错别字,同时保留传统的缓存查找成本。ROSE的核心组件是一个随机的客户查询ROSE查询重写大多数交通很少流量30X倍玫瑰深度学习模型客户查询ROSE缩短响应时间散列模式,使ROSE能够索引和检

如何使用Promise.all()方法?

Promise.all()方法可以将多个Promise实例包装成一个新的Promise实例,当所有的Promise实例都成功时,返回的是一个结果数组,当其中一个Promise实例失败时,返回的是该Promise实例的错误信息。使用Promise.all()方法可以方便地处理多个异步操作的结果。 以下是使用Promise.all()方法的示例代码: ```javascript const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); const promise3 = Promise.resolve(3)

android studio设置文档

android studio默认设置文档

社交网络中的信息完整性保护

141社交网络中的信息完整性保护摘要路易斯·加西亚-普埃约Facebook美国门洛帕克lgp@fb.com贝尔纳多·桑塔纳·施瓦茨Facebook美国门洛帕克bsantana@fb.com萨曼莎·格思里Facebook美国门洛帕克samguthrie@fb.com徐宝轩Facebook美国门洛帕克baoxuanxu@fb.com信息渠道。这些网站促进了分发,Facebook和Twitter等社交媒体平台在过去十年中受益于大规模采用,反过来又助长了传播有害内容的可能性,包括虚假和误导性信息。这些内容中的一些通过用户操作(例如共享)获得大规模分发,以至于内容移除或分发减少并不总是阻止其病毒式传播。同时,社交媒体平台实施解决方案以保持其完整性的努力通常是不透明的,导致用户不知道网站上发生的任何完整性干预。在本文中,我们提出了在Facebook News Feed中的内容共享操作中添加现在可见的摩擦机制的基本原理,其设计和实现挑战,以�

MutableDenseMatrix' object has no attribute 'flatten'

根据提供的引用内容,可以看出这是一个关于Python中矩阵操作的问题。具体来说,'MutableDenseMatrix' object has no attribute 'flatten'的错误提示表明,矩阵对象没有名为'flatten'的属性。因此,我们需要使用其他方法来展平该矩阵对象。 以下是一种可能的解决方案: ```python # 导入必要的库 from sympy import Matrix # 创建一个矩阵对象 mat = Matrix([[1, 2], [3, 4]]) # 将矩阵对象转换为列表 mat_list = mat.tolist() # 将列表展平 flat

MySQL 75道面试题及答案.docx

MySQL 75道面试题及答案.docx

利用脑信号提高阅读理解的信息检索模型探索

380∗→利用脑信号更好地理解人类阅读理解叶紫怡1、谢晓辉1、刘益群1、王志宏1、陈雪松1、张敏1、马少平11北京国家研究中心人工智能研究所计算机科学与技术系清华大学信息科学与技术学院,中国北京yeziyi1998@gmail.com,xiexh_thu@163.com,yiqunliu@tsinghua.edu.cn,wangzhh629@mail.tsinghua.edu.cn,,chenxuesong1128@163.com,z-m@tsinghua.edu.cn, msp@tsinghua.edu.cn摘要阅读理解是一个复杂的认知过程,涉及到人脑的多种活动。然而,人们对阅读理解过程中大脑的活动以及这些认知活动如何影响信息提取过程知之甚少此外,随着脑成像技术(如脑电图(EEG))的进步,可以几乎实时地收集大脑信号,并探索是否可以将其用作反馈,以促进信息获取性能。在本文中,我们精心设计了一个基于实验室的用户研究,以调查在阅读理解过程中的大脑活动。我们的研究结果表明,不同类型�

已有一个已排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中

已有一个已排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中,可以使用二分查找的方法来提高查找效率。具体实现如下: ```python def insert_num(arr, num): left = 0 right = len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == num: arr.insert(mid, num) return arr elif arr[m