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));