记录一些工作过程中经常会使用的Mysql命令
DDL(Database Definition Language)
-
Create Database
1CREATE DATABASE dbname; -
Create user with password
1 2-- 设置 host为 % 时,username可用于远程登录 CREATE user 'username'@'host' identified by 'password'; -
Show Database
1SHOW DATABASES; -
Use database
1USE dbname; -
Drop Database
1DROP DATABASE dbname; -
Create Table
1 2 3 4 5 6 7 8CREATE TABLE IF NOT EXISTS `demo`( `id` INT UNSIGNED AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `password` VARCHAR(40) NOT NULL, `create_time` TIMESTAMP NOT NULL DEFAULT NOW(), `update_time` TIMESTAMP NOT NUll DEFAULT CURRENT_TIMESTAMP(), PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; -
Change Table
-
Change name of column
passwordtopasswd1ALTER TABLE demo CHANGE password passwd;
-
-
Drop Table
1DROP TABLE demo; -
Change Remote root password
change password to 123456 (mysql8.0)
|
|
DML
-
add data into table demo
1INSERT INTO demo(name,password) VALUES('name1','password1'); -
Change data
1UPDATE demo SET name='name2' where id = 1; -
delete data
1DELETE FROM demo WHERE id = 1; -
select data
-
select data by time, accurate to the second
1SELECT * FROM demo WHERE timestamp(create_date) BETWEEN '2023-01-01 00:00:00' AND '2023-01-31 00:00:00'; -
select data by date, accurate to the day
1SELECT * FROM demo WHERE date(create_date) BETWEEN '2023-01-01' AND '2023-01-31'; -
use
case whento conversion some select column1SELECT CASE gender WHEN 0 THEN '男' WHEN 1 THEN '女' END AS '性别', CASE WHEN status IS NULL THEN '未提交' END AS '提交状态' FROM demo;
-
DCL
-
Authorization to users
1 2GRANT all privileges on dbname.* to username@'%' identified by password; flush privileges;
Others
backup
-
backup database with mysqldump
1mysqldump -u root -h host -p dbname > backup_file.sql;
restore
-
restore database with mysqldump
1mysqldump -u root -h host -m dbname < backup_file.sql;