MySQL学习笔记

基础操作

数据库操作

创建数据库

CREATE DATABASE DATABASE_NAME;
Example:

1
CREATE DATABASE DATABASE_TMP;

删除数据库

DROP DATABASES DATABASE_NAME;
Example:

1
DROP DATABASES DATABASE_TMP;

选择数据库

USE DATABASE_NAME;
Example:

1
USE DATABASE_TMP;

显示所有数据库

SHOW DATABASES;
Example:

1
SHOW DATABASES;

数据表操作

创建数据表

CREATE TABLE TABLE_NAME(colunm name column type);
Example:

1
CREATE TABLE TABLE_TMP(NAME VARCHAR(100),ID INT);

删除数据表

DROP TABLE TABLE_NAME;
Example:

1
DROP TABLE TABLE_TMP;

显示所有数据表

SHOW TABLES;
Example:

1
SHOW TABLES;

数据操作

插入数据

INSERT INTO TABLE_NAME VALUES(FILED1,FILED2,…,FILEDN);
INSERT INTO TABLE_NAME (FILED1,FILED2,…,FILEDN) VALUES(FILED1,FILED2,…,FILEDN);
Example:

1
INSERT INTO TABLE_TMP VALUE('zhangsan',20);

查询数据

SELECT COLUMN_NAME,COLUMN_NAME FROM TABLE_NAME [WHERE CLAUSE] [LIMIT N] [OFFSET M];
Example:

1
SELECT * FROM TABLE_TMP;

更新数据

UPDATE TABLE_NAME SET FILED1=NEW_VALUE1,FILED2=NEW_VALUE2;

1
UPDATE TABLE_TMP SET ID=21 WHERE ID=20;

删除数据

DELETE FROM TABLE_NAME;//该命令会删除所有数据

1
DELETE FROM TABLE_TMP WHERE ID=20;//删除指定条件的数据

进阶操作

WHERE子句

SELECT * FROM TABLE_NAME WHERE CONDITION1 AND CONDITION2;

1
SELECT * FROM TABLE_TMP WHRER ID>1;

LIKE子句

SELECT * FROM TABLE_NAME WHERE FIELD1 LIKE CONDITION1;

1
SELECT * FROM TABLE_TMP WHERE NAME LIKE '%三'; 

在SQL LIKE中使用%字符来表示任意字符,类似于正则匹配中的*;

UNION

UNION操作符用来连接两个以上的SELECT语句的结果组合到一个结果集合中。多个SELECT语句会删除重复的数据。

1

用户操作

修改用户密码

Mysql8修改用户密码

1
2
3
4
5
use mysql;//先跳转到mysql库下
ALTER USER 'test'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';
exit;//退出mysql
systemctl restart mysqld//重启mysql服务
mysql -u root -p "newpassword" //验证是否修改成功

数据库备份

Mysqldump

命令: mysqldump -h host -u user -p databasename > backname.sql

1
mysqldump -u root -p mysql > mysql_back.sql

Mysql报错处理

ERROR 1290 (HY000)

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
需执行flush privileges;命令来清理掉缓存,然后再执行所需要的操作即可。