程序员必须掌握的MySql常用技巧

连接到服务器和断开与服务器的连接

要连接到服务器,通常需要提供 MySQL 用户 name  密码。如果服务器运行在以下 登录后,还必须指定主机名。联系您的 管理员了解您应该使用的连接参数 用于连接(即主机、用户名和密码 使用)。一旦你知道了正确的参数,你应该能够 像这样连接:

$> mysql -h host -u user -p
Enter password: ********

host 和 user 表示主机名,其中 MySQL 服务器正在运行,以及您的 MySQL 账户的用户名。 为您的设置替换适当的值。这表示您的密码;进入它 当 MySQL 显示提示时。********Enter password:

如果有效,您应该会看到一些介绍性信息 后跟提示:mysql>

$> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 25338 to server version: 8.4.4-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

该提示告诉您 mysql 已准备好供您输入 SQL 语句。mysql>

如果您在运行 MySQL 的同一台计算机上登录 on,您可以省略 host,只需使用以下命令:

$> mysql -u user -p

如果在尝试登录时收到错误消息,例如 ERROR 2002 (HY000): Can't connect to local MySQL server 通过套接字 '/tmp/mysql.sock' (2),这意味着 MySQL 服务器守护程序 (Unix) 或服务 (Windows) 不是 运行。请咨询管理员或参阅第 2 章 安装 MySQL 中适合您作的部分 系统。

有关尝试记录时经常遇到的其他问题的帮助 中,请参见第 B.3.2 节 “使用 MySQL 程序时的常见错误”。

某些 MySQL 安装允许用户以匿名 (未命名的)用户添加到本地主机上运行的服务器。如果这是 您机器上的外壳,您应该能够连接到该外壳 server 通过调用不带任何选项的 mysql 来调用:

$> mysql

连接成功后,您可以随时断开连接 通过在 提示符:QUIT\qmysql>

mysql> QUIT
Bye

在 Unix 上,您也可以通过按 Ctrl+D 断开连接。

输入查询

这是一个简单的查询,它要求服务器告诉您其 版本号和当前日期。在此处键入 按照提示并按 Enter:mysql>

mysql> SELECT VERSION(), CURRENT_DATE;
+-----------+--------------+
| VERSION() | CURRENT_DATE |
+-----------+--------------+
| 8.4.0-tr  | 2024-01-25   |
+-----------+--------------+
1 row in set (0.00 sec)

mysql>

关键字可以采用任何字母大小写形式输入。以下查询 是等效的:

mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), current_DATE;

这是另一个查询。它演示了您可以将 mysql 用作简单的计算器:

mysql> SELECT SIN(PI()/4), (4+1)*5;
+------------------+---------+
| SIN(PI()/4)      | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 |      25 |
+------------------+---------+
1 row in set (0.02 sec)

到目前为止,显示的查询相对较短,只有一行 语句。您甚至可以在单个语句中输入多个语句 线。只需用分号结束每个

mysql> SELECT VERSION(); SELECT NOW();
+-----------+
| VERSION() |
+-----------+
| 8.4.0-tr  |
+-----------+
1 row in set (0.00 sec)

+---------------------+
| NOW()               |
+---------------------+
| 2024-01-25 18:33:04 |
+---------------------+
1 row in set (0.00 sec)

下面是一个简单的多行语句:

mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;
+---------------+--------------+
| USER()        | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2018-08-24   |
+---------------+--------------+

如果您决定不想执行您正在进行的查询 进入过程,键入取消它:\c

mysql> SELECT
    -> USER()
    -> \c
mysql>

下表显示了您可能会看到的每个提示和 总结了它们对 MySQL 所处状态的含义。

提示 意义
mysql> 准备好进行新查询
-> 等待多行查询的下一行
'> 等待下一行,等待开始的字符串完成 使用单引号 (')
"> 等待下一行,等待开始的字符串完成 使用双引号 (")
`> 等待下一行,等待完成 以反引号 (`)
/*> 等待下一行,等待开始的评论完成 跟/*

多行语句通常是偶然出现的,当您 打算在单行上发出查询,但忘记了 终止分号。在这种情况下,mysql 会等待更多输入:

mysql> SELECT USER()
    ->

如果您遇到这种情况(您认为自己输入了对账单,但 唯一的响应是提示),大多数 可能 MySQL 正在等待分号。如果 您没有注意到提示告诉您的内容,您可能会坐下 在那里呆了一会儿,然后才意识到你需要做什么。输入 分号完成该语句,MySQL 将执行它:->

mysql> SELECT USER()
    -> ;
+---------------+
| USER()        |
+---------------+
| jon@localhost |
+---------------+

创建和选择数据库

如果管理员在将 提升您的权限,您就可以开始使用它了。否则,您需要 要自己创建它:

mysql> CREATE DATABASE menagerie;

创建数据库不会选择它以供使用;你必须这样做 明确地。要将当前 数据库,请使用以下语句:menagerie

mysql> USE menagerie
Database changed

您的数据库只需创建一次,但您必须选择 it 以供每次启动 MySQL 会话时使用。您可以通过发出 USE 语句来实现此目的,如 例。或者,您可以在 命令行只 在您可能的任何连接参数后指定其名称 需要提供。例如:

$> mysql -h host -u user -p menagerie
Enter password: ********

创建表

创建数据库是简单的部分,但在这一点上它是 empty,如 SHOW TABLES 告诉您的那样:

mysql> SHOW TABLES;
Empty set (0.00 sec)

使用 CREATE TABLE 语句 指定表的布局:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
       species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

创建表后,SHOW TABLES 应该会产生一些输出:

mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| pet                 |
+---------------------+

要验证您的表是否按预期方式创建,请使用 a DESCRIBE 语句:

mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

将数据加载到表中

创建表后,您需要填充它。LOAD DATA 和 INSERT 语句可用于 这。

假设您的 pet 记录可以按如下所示进行描述。 (请注意 MySQL 期望格式为日期;这可能与您习惯的不同.)'YYYY-MM-DD'

名字 所有者 物种 出生 死亡
蓬松 哈罗德 f 1993-02-04
爪子 格温 m 1994-03-17
芭菲 哈罗德 f 1989-05-13
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值