mysql8数据库操作

创建用户

# 创建用户
CREATE USER 'root'@'192.168.154.134';
# CREATE USER 'hougang'@'%';

# 设置密码
alter user 'root'@'192.168.154.134' identified by '123456';
# alter user 'hougang'@'%' identified by '123456';

# 授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.154.134' with grant option;
# GRANT ALL PRIVILEGES ON *.* TO 'hougang'@'%' with grant option;

# 刷新权限
flush privileges;

计算两个字段的差值

# 方法一:使用SELECT语句计算差值

SELECT column1 - column2 AS difference FROM table;

# 方法二:使用UPDATE语句更新差值

UPDATE table SET column1 = column1 - column2;

方法三:将计算值作为新字段添加到表中
ALTER TABLE table ADD column_difference INT AS (column1 - column2);

查询字段是否存在

SHOW COLUMNS FROM 表名 LIKE '字段名';

mysql修改字段类型

# 注意,列名有时候需要加``符号
ALTER TABLE 表名 MODIFY 列名 新数据类型;

将text转为varchar(不能直接转)

# 1、添加新字段
ALTER TABLE 表名 ADD 新字段名 varchar(255);

# 2、复制旧字段内容到新的字段
UPDATE 表名 SET 新字段名 = 旧字段名;

# 3、删除旧字段
ALTER TABLE 表名 DROP COLUMN 旧字段名;

# 4、重命名新字段
ALTER TABLE 表名 CHANGE COLUMN 新字段名 旧字段名 varchar(255);

添加主键


ALTER TABLE 表名 ADD PRIMARY KEY (列名);

查询主键

sql = SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = 'database_name' AND table_name = 'table_name' AND column_key = 'PRI';
cursor.execute(sql)
res = cursor.fetchone()[0]
# res = 1,存在;res = 0,不存在

按日期范围查询

SELECT * FROM table_name WHERE date_column BETWEEN '2019-01-01' AND '2019-03-31';

查询字段平均值

SELECT AVG(column_name) FROM table_name;

将查询结果保存到新表


# -- 创建目标表
CREATE TABLE new_table (
    column1 datatype,
    column2 datatype,
    ...
);
 
# -- 将查询结果插入到新表中
INSERT INTO new_table (column1, column2, ...)
SELECT column1, column2, ...
FROM source_table;

浮点数类型

float:单精度浮点数,占4个字节,用 32 位二进制进行描述

double:双精度浮点数,占8个字节,用 64 位二进制进行描述

decimal:依赖于M和D的值,decimal(M,D),其中, M 的范围是1~65, D 的范围是0~30, 而且D不能大于M

python操作mysql

# pip install PyMySQL

# 建立连接
import pymysql

conn = pymysql.connect(
    host='127.0.0.1',
    user='root',
    password='123456',
    database='test',
    charset='utf8'
)

# 创建游标
cursor = conn.cursor()

# 定义sql
sql = "update xxx set xxx =xxx where xxx ==xxx"

# 执行sql
res = cursor.execute(sql)

# 提交
conn.commit()

# 关闭连接
conn.close()

种草

我的博文内容主要针对“计算机网络”、“安全”、“运维”和“云计算”方向,感兴趣朋友的请关注我,我将不定期发布新的博文并不断改进已发布博文。

后期依据大家对博文的评论,点赞及关注情况,针对大家感兴趣的内容我也会录制视频并整理出成套的学习资料免费分享给大家,期待能和大家一起交流学习。

你可能感兴趣的:(运维,数据库,mysql)