MYSQL相关操作

用表名查找数据库

mysql> SELECT table_schema FROM information_schema.TABLES WHERE table_name = 'test';
+--------------+
| table_schema |
+--------------+
| sql-demo     |
+--------------+
1 row in set (0.00 sec)

查看存储过程

mysql> SHOW PROCEDURE STATUS;
+----------+-----------------------+-----------+------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
| Db       | Name                  | Type      | Definer    | Modified            | Created             | Security_type | Comment | character_set_client | collation_connection | Database Collation |
+----------+-----------------------+-----------+------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
| sql-demo | create_docsis_table   | PROCEDURE | sql-demo@% | 2023-02-24 14:47:41 | 2023-02-24 14:47:41 | DEFINER       |         | latin1               | latin1_swedish_ci    | utf8mb4_unicode_ci |
| sql-demo | create_docsis_table1  | PROCEDURE | sql-demo@% | 2023-03-10 18:47:20 | 2023-03-10 18:47:20 | DEFINER       |         | latin1               | latin1_swedish_ci    | utf8mb4_unicode_ci |
| sql-demo | create_docsis_table6  | PROCEDURE | sql-demo@% | 2023-02-17 17:15:09 | 2023-02-17 17:15:09 | DEFINER       |         | latin1               | latin1_swedish_ci    | utf8mb4_unicode_ci |
| sql-demo | create_history_data   | PROCEDURE | sql-demo@% | 2023-03-24 11:03:10 | 2023-03-24 11:03:10 | DEFINER       |         | latin1               | latin1_swedish_ci    | utf8mb4_unicode_ci |
| sql-demo | create_history_data1  | PROCEDURE | sql-demo@% | 2023-03-24 11:31:27 | 2023-03-24 11:31:27 | DEFINER       |         | latin1               | latin1_swedish_ci    | utf8mb4_unicode_ci |
| sql-demo | create_history_data15 | PROCEDURE | sql-demo@% | 2023-04-06 19:32:18 | 2023-04-06 19:32:18 | DEFINER       |         | latin1               | latin1_swedish_ci    | utf8mb4_unicode_ci |
| sql-demo | create_history_data16 | PROCEDURE | sql-demo@% | 2023-04-06 19:30:58 | 2023-04-06 19:30:58 | DEFINER       |         | latin1               | latin1_swedish_ci    | utf8mb4_unicode_ci |
+----------+-----------------------+-----------+------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
7 rows in set (0.03 sec)

发现:在页面连接工具中,database的函数中可以查看到存储过程的相关具体信息

只要执行的存储过程名字一样,会直接找到里面原有的代码进行操作,所以会报docsis_0表存在。

java连接mysql操作

execute、executeUpdate、executeQuery三者的区别(及返回值)

ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象。
int executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。
boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet

数据类型对应java mysql

MySql 数据类型可以被转换成的 Java 类型
CHAR, VARCHAR, BLOB, TEXT, ENUM, and SETjava.lang.String, java.io.InputStream, java.io.Reader, java.sql.Blob, java.sql.Clob
FLOAT, REAL, DOUBLE PRECISION, NUMERIC, DECIMAL, TINYINT, SMALLINT, MEDIUMINT, INTEGER, BIGINTjava.lang.String, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Double, java.math.BigDecimal
DATE, TIME, DATETIME, TIMESTAMPjava.lang.String, java.sql.Date, java.sql.Timestamp

ResultSet.getObject() 方法遵循 JDBC 规范对 MySql 和 Java 的类型进行转换。

MySql 类型名GetColumnClassName 返回值返回的 Java 类
BIT(1)(MySQL-5.0 新引入)BITjava.lang.Boolean
BIT(大于 1) (MySQL-5.0 新引入)BITbyte[]
TINYINTTINYINT如果 tinyInt1isBit 配置设置为 true(默认为 true),是 java.lang.Boolean,存储空间 为 1;否则是为 java.lang.Integer
BOOL, BOOLEANTINYINT参见 TINYINT。这些是 TINYINT(1) 另一种写法而已
SMALLINT[(M)] [UNSIGNED]SMALLINT [UNSIGNED]java.lang.Integer(不管是否无符)
MEDIUMINT[(M)] [UNSIGNED]MEDIUMINT [UNSIGNED]java.lang.Integer;无符的话是 java.lang.Long(C/J 3.1 或更早),或者 java.lang.Integer(C/J 5.0 或更晚)
INT,INTEGER[(M)] [UNSIGNED]INTEGER [UNSIGNED]java.lang.Integer;无符的话是 java.lang.Long
BIGINT[(M)] [UNSIGNED]BIGINT [UNSIGNED]java.lang.Long;无符的话是 java.math.BigInteger
FLOAT[(M,D)]FLOATjava.lang.Float
DOUBLE[(M,B)]DOUBLEjava.lang.Double
DECIMAL[(M[,D])]DECIMALjava.math.BigDecimal
DATEDATEjava.sql.Date
DATETIMEDATETIMEjava.sql.Timestamp
TIMESTAMP[(M)]TIMESTAMPjava.sql.Timestamp
TIMETIMEjava.sql.Time
YEAR[(2|4)]YEAR如果 yearIsDateType 配置设置为 false,返回的对象类型为 java.sql.Short;如果设置为 true(默认为 true),返回的对象类型是 java.sql.Date,其具体时间是为一月一日零时零分
CHAR(M)CHARjava.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
VARCHAR(M) [BINARY]VARCHARjava.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
BINARY(M)BINARYbyte[]
VARBINARY(M)VARBINARYbyte[]
TINYBLOBTINYBLOBbyte[]
TINYTEXTVARCHARjava.lang.String
BLOBBLOBbyte[]
TEXTVARCHARjava.lang.String
MEDIUMBLOBMEDIUMBLOBbyte[]
MEDIUMTEXTVARCHARjava.lang.String
LONGBLOBLONGBLOBbyte[]
LONGTEXTVARCHARjava.lang.String
ENUM(‘value1’,‘value2’,…)CHARjava.lang.String
ET(‘value1’,‘value2’,…)CHARjava.lang.String

Base64编码

Base64是一种编码方式,将字节数组按照规则转换成可见字符,并不属于加密的范畴。虽然Base64不是一种加密算法,但Base64在加密中却很常用,往往作为最后一步,将加密后的数据进行Base64编码,转换成可见字符。

原理:

Base64编码,是将原字节数组按照3byte8bit转换成4byte6bit,将这4byte对应的值作为下标,在可见字符表中得到对应的可见字符。也就是将3byte转成4byte,不足4byte补’=’,最多补两个’=’。这也就是为什么Base64出来的结果在结尾处经常有’=‘或者’=='的原因。、

编码过程:

待编码字符:
"admin"

对应的字节数组:
[97,100,109,105,110]

对应的二进制表示:
[01100001,01100100,01101101,01101001,01101110]

重新按照6bit进行分组(最后一组不足6bit,在后面补0):
[011000,010110,010001,101101,011010,010110,1110 00]

转换成整数表示:
[24,22,17,45,26,22,56]

查表得到对应字符(不足4byte,补'='):
['Y','W','R','t','a','W','4','=']

可见字符表(大写字母 + 小写字母 + 数字 + '+' + '/'):
['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/']

因此,字符串“admin”对应的Base64编码值为“YWRtaW4=”。如果是“admi”,那么对应的Base64编码值为“YWRtaQ==”。所以,Base64编码之后,长度一定是4的倍数。

查指定最新数据是什么时候

select timestamp from device_247 order by timestamp desc limit 10;
  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值