mysql 创建师徒_mysql学习之路

本文介绍MySQL登录命令行的各种选项,如指定主机、端口等,并详细解释如何使用-A参数加速启动过程。此外还提供了清空表、删除行、表改名及字段修改等实用SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录mysql相关内容

#mysql登录命令行

mysql -hhostname -uusername -ppassword -Pport -A

-D,--database=name 打开指定数据库

--delimiter=name 指定分隔符

-h,--host=name 服务器名称

-p,--password[=name] 密码

-P,--port=# 端口号

--prompt=name 设置提示符

-u,--user=name 用户名

-V,--version 输出版本信息并且退出

注意:使用mysql -hhostname -uusername -ppassword -Pport的方式进入数据,连接成功,然后运行了use dbname命令,出现了下面一段话:

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

出现问题的原因是: 我们进入mysql 时,没有使用-A参数; 当我们打开数据库,即use dbname时,要预读数据库信息,当使用-A参数时,就不预读数据库信息。

当数据库中表非常多,如果预读数据库信息,将非常慢,可能会卡住,如果数据库中表非常少,将不会出现问题。

正确的打开方式是: mysql -hhostname -uusername -ppassword -Pport -A的方式进入数据库。

提供 数据库 ip port 数据库名 还有相应的表名 以及 sql逻辑

#清空表

delete from 表名;

truncate table 表名;

使用truncate table可以清空mysql表中所有内容;

效率上truncate比delete快;

truncate删除后不记录mysql日志,不可以恢复数据;

truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。

不带where参数的delete语句可以删除mysql表中所有内容;

delete的效果有点像将mysql表中所有记录一条一条删除到删完。

#删除行

DELETE FROM table_name WHERE dt=20190401;

#改名

ALTER TABLE name RENAME TO new_name

ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])

ALTER TABLE name DROP [COLUMN] column_name

ALTER TABLE name CHANGE column_name new_name new_type

ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])

alter table name modify column pv decimal(15) DEFAULT '0' COMMENT 'PV',

#增加一列排序

row_number() over (order by search_pv desc) as rank

#增加列

(一般情况会很快,但如果表中的数据量很大,添加命令输入后会卡很久……)

alter table table add column title varchar(40) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '' COMMENT '资源名称';

#格式化输出

select * from mysqlTable limit 5 \G

#数据类型遇到过问题,很大的数据量,比如时间、曝光pv,用了int,使得数据溢出,这种情况,可以将数据定义为bigint,或者decimal(15)。

410efa1be09fc6eae7f5e8c3a8cb4d7a.png   

来源:https://www.cnblogs.com/syj-love-dy/p/11136651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值