博客
关于我
MySQL复习基础语句
阅读量:324 次
发布时间:2019-03-04

本文共 3116 字,大约阅读时间需要 10 分钟。

MySQL 语句指南

MySQL 语句规范

  • 关键字和函数名:全部使用大写。
  • 数据库名、表名、字段名:全部使用小写。
  • SQL 语句必须以分号结尾

MySQL 参数说明

参数 描述
-D, --database=name 打开指定数据库。
--delimiter=name 指定分隔符,默认为分号。
-h, --host=name 服务器名称(IP 地址或主机名)。
-p, --password[=name] 密码,选项可选。
-P, --port=# 数据库服务器端口号。
--prompt=name 设置提示符。
-u, --user=name 用户名。
-V, --version 输出 MySQL 版本信息并退出。
--execute=command 执行指定的 SQL 语句或多个语句。

MySQL 登录与退出

登录 MySQL

# 不指定服务器,使用默认 localhostmysql -u root -p# 指定服务器和密码mysql -h 192.168.1.1 -u root -proot# 忽略服务器和密码,默认 localhost 和密码验证mysql -u root -p# 完整语句,默认端口 3306,默认 localhostmysql -u [用户名] -p[密码] -P3306 -h localhost

退出 MySQL

mysql> exit;mysql> quit;mysql> \q;

启动/关闭 MySQL 服务

# 启动 MySQL 服务net start mysql# 关闭 MySQL 服务net stop mysql

查看当前用户加密方式

USE mysql;SELECT user, plugin FROM user WHERE user='root';

修改 MySQL 提示符

# 未连接时使用参数指定mysql -uroot -p[密码] --prompt="..."# 连接后使用 prompt 修改prompt "\u@\h \d>"

将用户加密方式改为 mysql_native_password

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword';FLUSH PRIVILEGES;

数据库操作

创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;

示例:

CREATE DATABASE IF NOT EXISTS test_db;

查看数据库列表

SHOW DATABASES [LIKE 'pattern'];

删除数据库

DROP DATABASE [IF EXISTS] db_name;

示例:

DROP DATABASE IF EXISTS test_db;

修改数据库字符集

CREATE DATABASE test_db    DEFAULT CHARACTER SET gb2312    DEFAULT COLLATE gb2312_chinese_ci;

使用数据库

USE test_db;

查看当前数据库

SHOW DATABASES;

数据表操作

创建数据表

CREATE TABLE [IF NOT EXISTS] table_name (    column_name data_type [约束] ...) ENGINE=InnoDB DEFAULT CHARSET=utf8;

示例:

CREATE TABLE IF NOT EXISTS user (    user_id INT UNSIGNED AUTO_INCREMENT,    user_title VARCHAR(100) NOT NULL,    user_author VARCHAR(40) NOT NULL,    submission_date DATE,    PRIMARY KEY (user_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

查看数据表列表

SHOW TABLES [FROM db_name] [LIKE 'pattern'];

查看数据表结构

SHOW COLUMNS FROM table_name;

查看数据表创建信息

SHOW CREATE TABLE table_name;

修改数据表

ALTER TABLE table_name ADD COLUMN new_column data_type;

删除数据表

DROP TABLE table_name;

查询操作

查询数据

SELECT column_name, column_name FROM table_name[WHERE 条件][LIMIT N][OFFSET M];

修改数据

UPDATE table_name SET column_name = value WHERE 条件;

删除数据

DELETE FROM table_name WHERE 条件;

查询多个表

SELECT * FROM table1, table2 WHERE 条件;

分页查询

SELECT * FROM table_nameLIMIT 10 OFFSET 5;

索引与优化

查看索引

SHOW INDEXES FROM table_name;

创建索引

CREATE INDEX index_name ON table_name (column_name);

日期与时间操作

查看当前日期

SELECT CURRENT_DATE();

查看当前时间

SELECT CURRENT_TIME();

查看当前时间戳

SELECT CURRENT_TIMESTAMP();

错误信息

查看错误日志

SHOW ERRORS;

其他操作

查看服务器版本

SELECT VERSION();

查看当前用户

SELECT USER();

查看当前日期

SELECT NOW();

查看当前时间

SELECT CURRENT_TIME();

注意事项

  • 数据库命名:数据库名称不区分大小写,建议使用有意义的名称。
  • 字符集与校对规则:建议使用 UTF-8 字符集,并根据需求选择合适的校对规则。
  • 备份数据库:在删除数据库前,建议先备份数据以防万一。

开发环境配置

MySQL 安装

# 安装 MySQLsudo apt-get install mysql-server# 启动 MySQL 服务sudo systemctl start mysql# 关闭 MySQL 服务sudo systemctl stop mysql# 查看 MySQL 服务状态sudo systemctl status mysql

常用数据库示例

Sakila 数据库

Sakila 是 MySQL 提供的开源样例数据库,适合学习和开发。

-- 创建 Sakila 数据库CREATE DATABASE sakila DEFAULT CHARACTER SET utf8;-- 使用 Sakila 数据库USE sakila;-- 查看 Sakila 数据库表结构SHOW TABLES;-- 查看 Sakila 数据库表信息SHOW CREATE TABLEsakila.*;

通过以上操作,您可以方便地管理和使用 MySQL 数据库。

转载地址:http://ojah.baihongyu.com/

你可能感兴趣的文章
架构师入门:搭建基本的Eureka架构(从项目里抽取)
查看>>
Java核心技术及面试指南 流程控制方面的面试题答案
查看>>
MongoDB 快速扫盲贴
查看>>
修复搜狗、360等浏览器不识别SameSite=None 引起的单点登录故障
查看>>
2017/08/21 工作日志
查看>>
EXTJS4.2——10.Tab+Iframe
查看>>
WEB基础——AJAX
查看>>
one + two = 3
查看>>
Kali Day01 --- arpspoof命令进行断网攻击(ARP欺骗)
查看>>
echart关系图平分节点删除时自动平衡问题
查看>>
《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考
查看>>
PHP serialize && unserialize Security Risk Research
查看>>
sctf_2019_easy_heap
查看>>
给asterisk1.8.7添加menuselct选项
查看>>
ASP.NET Core分布式项目实战(oauth2 + oidc 实现 server部分)--学习笔记
查看>>
ASP.NET Core分布式项目实战(oauth2 + oidc 实现 client部分)--学习笔记
查看>>
PyQt5之音乐播放器
查看>>
css居中方法与双飞翼布局
查看>>
Redis进阶实践之十八 使用管道模式提高Redis查询的速度
查看>>
SQL注入
查看>>