MySQL知识GET

以下内容并非什么技术内容,而是在学习mysql过程中一些个人认为很重要却又很容易忘记的知识进行整合

1-启动停止服务

启动:net start mysql
停止:net stop mysql

2-Mysql语言规范

MYSQL是大小写不敏感的,但是为了方便阅读,规定
关键字和函数名全部大写,其余的小写

3-MySQL数据类型

3-1-整型

  • TINYINT 8位
  • SMALLINT 16位
  • MEDIUMINT 24位
  • INT 32位
  • BIGINT 64位

3-2-日期类型

  • YEAR
  • TIME
  • DATE 表示从1000年到9999年中的一时间
  • DATETIME 表示从1000年0点0分0秒到9999年23点59分59秒
  • TIMESTAMP 表示从1970年0点0分0秒到2037年23点59分59秒

3-3-字符型
- CHAR 定长字符
- VARCHAR 变长字符

3-4-浮点型
- FLOAT或FLOAT(M,D)数值范围为-3.4e38~3.4e38,前者无精度要求,后者M表示数据长度,D表示小数点后的数据长度,例如:M=5,D=2,表示数据整数部分长度不超过3,小数部分不超过2,如果小数部分超过则进行四舍五入,整数部分超过则报错。
- DOUBLE或DOUBLE(M,D) 数值范围为-1.7e308~1.7e308

4-Mysql操作

创建数据库

CREATE DATABASE mydatabase;

使用该数据库

USE mydatabase

删除数据库

DROP DATABASE mydatabase;

创建表

CREATE DATABASE personalinfromation(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR(20) NOT NULL,
age TINYINT UNSIGNED,
sex ENUM('BOY','GIRL','OTHER') DEFAULT 'OTHER'
);

显示使用的数据库中的表

SHOW TABLES;

显示其他数据库中的表

SHOW TABLES FROM creven;

显示一张表的详细属性信息

DESCRIBE personalinformation;
#或者
SHOW COLUMNS FROM personalinformation;

显示一张表的创建时代码

SHOW CREATE TABLE personalinformation;

向表插入记录

#方法1,不输入属性,写入全部值
INSERT personalinformation VALUES(1'CREVEN',21'BOY');

#同样的方法1,如果属性存在自增或者默认值等,想使用这些来输入可以这样写,这里面id是自增,sex是默认
INSERT personalinformation VALUES(NULL'CREVEN',21DEFAULT);

#方法2,写入某些属性,但必须包括非空属性,personalinformation表中id是主键所以可以省略,name有NOT NULL约束,所以一定要写入,其余的属性如果有默认值,则显示默认值,否则显示NULL。
INSERT personalinformation(name)VALUES('YOUNG');

查找记录

#查找表中全部记录的全部属性
SELECT * FROM personalinformation;

#查找表中全部记录的个别属性
SELECT name,age FROM personalinformation;

#查找表中符合要求的记录的全部属性(加入条件)
SELECT * FROM personalinformation WHERE age=21

更新记录

#记录中所有年龄属性值+1
UPDATE personalinformation SET age=age+1

删除记录

#删除id为2的记录
DELETE FROM personalinformation WHERE id=2

对表的结构做修改:添加属性(可以指定位置)

ALTER TABLE personalinformation ADD interest VARCHAR(100) AFTER sex;

对表的结构做修改:删除属性

ALTER TABLE personalinformation DROP interest;

对表的结构做修改:修改属性(输入属性的最新完整定义)

ALTER TABLE personalinformation MODIFY age TINYINT UNSIGNED;

表重命名(尽量不要修改名字)

ALTER TABLE personalinformation RENAME pi

未完待续。。。

### 数据库优化技能 实习中对MySQL的要求通常包括数据库表的优化和SQL语句的优化[^1]。这些技能是开发人员必备的核心能力之一,因为一条执行缓慢的SQL会严重影响用户体验。实习期间需要掌握以下内容: - **索引优化**:理解如何使用索引来提升查询性能,同时避免过多索引导致写入性能下降。 - **查询优化**:编写高效的SQL语句,例如减少子查询、合理使用连接(JOIN)操作等。 - **分页处理**:对于大数据量的表,掌握如何实现高性能的分页查询。 ### 基础知识与工具 实习过程中,除了核心的SQL优化外,还需要了解MySQL的基础配置和管理相关的内容,例如: - **JDBC连接**:掌握Java通过JDBC连接MySQL的方式,包括驱动加载、连接字符串格式以及参数设置[^4]。 - **事务管理**:熟悉MySQL的事务机制,包括ACID特性、隔离级别以及在实际场景中的应用。 - **日志分析**:了解慢查询日志、错误日志等MySQL内置日志的作用,并能够根据日志排查问题。 ### 工具使用 实习中还可能涉及一些常用的MySQL工具,例如: - **MySQL Workbench**:用于可视化数据库设计和查询调试。 - **Explain计划**:使用`EXPLAIN`命令分析SQL执行计划,发现潜在的性能瓶颈。 - **监控工具**:如`SHOW STATUS`和`SHOW PROCESSLIST`命令,实时查看数据库运行状态和当前活动。 ### 实战能力 实习要求具备一定的实战经验,比如: - **数据建模**:能够根据业务需求设计合理的数据库表结构,包括主键、外键、约束等。 - **备份与恢复**:掌握基本的数据备份与恢复策略,确保数据安全性和可用性。 - **读写分离**:了解主从复制的基本原理,并能够在项目中实践读写分离以提升性能。 ### 示例代码:使用JDBC连接MySQL并执行查询 ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class MySQLExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC"; String username = "root"; String password = "password"; try (Connection connection = DriverManager.getConnection(url, username, password); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM users")) { while (resultSet.next()) { System.out.println("ID: " + resultSet.getInt("id") + ", Name: " + resultSet.getString("name")); } } catch (Exception e) { e.printStackTrace(); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值