MySQL常用命令

MySQL常用命令

无咎 28 2023-01-30

MySQL常用命令

导入 sql 文件:

source /home/ubuntu/antl.sql

备份数据库

mysqldump -u root -p antl>/home/ubuntu/antl.sql

导入数据库

mysql -u root -p 数据库名< ~/mysql-backup/antl-2021-08-18.sql

安装 mysql 数据库:

	sudo apt-get install mysql-server
	sudo mysql_secure_installation
		选择顺序:n 、 密码和确认密码 、 n 、 y  、n  、 y
	检查是否启动
	systemctl status mysql.service

创建新用户

create user '用户名'@'localhost' IDENTIFIED BY '密码'

赋予权限

grant all privileges on leaf.* to leaf@localhost;

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;

sudo 加入免密

编辑 /etc/sudoers 文件,修改 %sudo 行使所有sudo命令免密:
// original 
%sudo   ALL=(ALL:ALL) ALL

// new line
ubuntu  ALL=(ALL) NOPASSWD : ALL

utf8_general_ci --不区分大小写

utf8_bin--区分大小写

修改数据类型

ALTER TABLE 表名 MODIFY 字段名 数据类型;

设置字段默认值

ALTER TABLE 表名 alter column 字段名 set DEFAULT '默认值'

删除字段

ALTER TABLE 数据表名 DROP 字段名;

设置 字段 区分大小写

ALTER TABLE 数据表名 MODIFY COLUMN 字段名 VARCHAR(45) BINARY;

设置 表 区分大小写

alter table 数据表名 convert to character set utf8mb4 COLLATE utf8mb4_bin;

删除外键

show create table 表名;
alter table 表名 drop foreign key 外键名;

清空表中所以数据并重置自增从 1 开始

truncate table 表名;

查看某个表占用空间

use information_schema;
select concat(round(sum(data_length/1024/1024/1024),2),'G') as data from tables where table_schema='数据库名' and table_name = '数据表名';

删除数据库

drop database 数据库名;

mysql 与 ifnull() 等效的函数 COALESCE()

删除索引

DROP INDEX 字段 ON 数据表

添加unique(唯一索引)

alter table 表名 add unique(列名);
alter table 表名 add unique(列名(长度最大1024));