二级MySQL基础知识(一) 回顾上篇设置默认字符集,定义数据库的SQL命令语句,Win11命令提示符中的MySQL命令

提示:二级MySQL常用数据库db_school,常用表tb_student


一、回顾上篇文章

1. 登录MySQL数据库的2种方法

(1)使用CMD命令提示符输入命令 mysql -uroot -p

Win11搜索栏输入cmd ,点击“命令提示符”输入命令 mysql -uroot -p 直接回车进入。

二级MySQL使用的是WampServer服务器,当电脑重新开机时不会自动启动,如果直接使用命令提示符启动MySQL,会提示错误,无法连接MySQL服务器:

ERROR 2003 (HY000) : Can’t connect to MySQL server on ‘localhost’ (10061)

解决方法:右击开始键选择“计算机管理”,在“服务”中找到“wampmysqld”,启动类型改成“自动”,确定保存。
在这里插入图片描述

(2)使用 MySQL console(MySQL控制台)

Win11搜索栏输入wamp,点击“start WampServer”, 或者点击桌面WampServer图标,然后点击MySQL控制台回车。

出现的黑底白字命令行窗口显示出 mysql>,表示已经成功登录MySQL数据库,可以开始输入SQL命令语句。

2. 设置MySQL创建数据库默认字符集utf8mb4

二级MySQL5.5.24 默认字符集是 lantin1 默认排序规则 latin1_swedish_ci (MySQL公司是在瑞典成立),lantin1字符集只有1个字节包含文字少,所以修改MySQL配置文件 my.ini,

MySQL5.5.24 默认字符集设置成 utf8mb4,排序规则 utf8mb4_unicode_ci,创建数据库就不用设置字符集,当然如果有需要使用其他字符集,可以在创建数据库时设置字符集,也可以在创建表时候设置字符集。

二、定义数据库设置字符集增删改查

有时候为了数据排序查询性能,可以自定义数据库的字符集。

1. 查看所有字符集设置命令 show character set;

查看当前MySQL5.5.24版本所有字符集,下面是常用字符集和默认排序规则:

Charset 字符集Default collation 默认排序规则
gb2312gb2312_chinese_ci (二级MySQL使用的)
gbkgbk_chinese_ci
utf8utf8_general_ci
utf8mb4utf8mb4_general_ci
utf8mb4utf8mb4_unicode_ci ( 非默认,my.ini设置的排序规则)

最新 MySQL 8.0.35数据库默认字符集是 utf8mb4,排序规则是 utf8mb4_0900_ai_ci,一般就不需要修改my.ini配置文件。
当然 MySQL 8.0.35 还有最新中文字符集 gb18030,排序规则是 gb18030_chinese_ci,包含更多中文。
utf8字符集在MySQL8版本中显示为utf8mb3。

2. 创建数据库设置字符集命令 character set

简洁SQL语句:
create database `db_school` character set gb2312;
完整SQL语句:
create database if not exists `db_school` default character set gb2312 collate gb2312_chinese_ci;

几个注意点:
if not exists 写在数据库名、表名、列名之前,省略后反而mysql能提示错误。
default 也可以省略。
collate gb2312_chinese_ci; 默认排序规则也可以省略,因为MySQL5.5.24数据库已经设置字符集 gb2312默认排序规则是 collate gb2312_chinese_ci(请看上面表格),只是在show create database 没有显示排序规则。当然创建数据表的时候也可以设置字符集和排序规则,默认排序规则同样可以省略。

3. 反引号`和单引号’区别

在命令行界面,反引号有点像飞在字符上方的中文顿号,单引号有点像逗号。

反引号`键 位置在ESC键下面,和波浪号~同一个按键,
反引号是为了区分SQL保留英文字和普通英文字符,
反引号用在MySQL数据库名前后`db_school` ,或者表名前后 `tb_student`,或字段名前后
可以在查看创建数据库和查看创建数据表的详细结构时看到反引号,
也可以在创建数据库时候使用反引号,例如:create database `db_school`;

单引号’键位置在回车键左边,和双引号"同一个按键。
单引号用在字段值前后,字段值相当于变量可以是英文也可以是中文等文字,特殊符号需要在符号前面加反斜杠转义。
例如:字段值 ‘2023110101’,‘软件学院’,‘汉族’。

MySQL的用户名和主机名只能是英文数字符号,
例如:管理员用户名 ‘root’,当前主机名 ‘localhost’。

4. 删除数据库命令:

drop database `db_school`;
完整SQL语句:drop database if exists `db_school`;
if exists (如果存在) 写在数据库名、表名、列名之前。

5. 修改数据库命令:

alter database `db_school` character set gb2312 collate gb2312_chinese_ci;
show create database db_school 查看创建数据库结构没有显示默认排序规则gb2312_chinese_ci ,并不影响使用。

mysql> create database `db_school` character set gb2312;
Query OK, 1 row affected (0.00 sec)

mysql> show create database `db_school`;
+-----------+----------------------------------------------------------------------+
| Database  | Create Database                                                      |
+-----------+----------------------------------------------------------------------+
| db_school | CREATE DATABASE `db_school` /*!40100 DEFAULT CHARACTER SET gb2312 */ |
+-----------+----------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> drop database `db_school`;
Query OK, 0 rows affected (0.00 sec)

mysql> create database if not exists `db_school` default character set gb2312 collate gb2312_chinese_ci;
Query OK, 1 row affected (0.00 sec)

mysql> show create database `db_school`;
+-----------+----------------------------------------------------------------------+
| Database  | Create Database                                                      |
+-----------+----------------------------------------------------------------------+
| db_school | CREATE DATABASE `db_school` /*!40100 DEFAULT CHARACTER SET gb2312 */ |
+-----------+----------------------------------------------------------------------+
1 row in set (0.00 sec)

6. 键盘符号名称中英文大全

MySQL是数据库编程语言,由英文字母和各种符号组合成的代码,要了解编程语言代码的含义,首先就要熟悉各种符号的名称。

符号中文英文
~波浪号tilde
`反引号,重音号(用在MySQL数据库名和表名前后)backquote,backtick,grave accent
#井号number sign,pound sign,hash mark
#!sha-bang
|竖线pipe,vertical bar
单引号single quote
"双引号double quote,quotation mark
$美元符号dollar sign
.点,句号dot,period,point
!感叹号exclamation mark,bang
%百分号,取余percent,mod
@艾特at symbol
°度数degree
*星号,乘号asterisk,star,multiplication symbol
(左圆括号,左小括号open parenthesis
((double parentheses
&和符号and symbol
[左方括号,左中括号open bracket
[[double brackets
{左大括号,左花括号curly brace,curly bracket,brace
=等号equal
+加号plus
-减号,连字符minus,hyphen
_下划线underscore,underline
\反斜杠backslash,escape
/斜杠,除号slash,division symbol
:冒号colon
;分号semicolon
<小于号less than sign
>大于号greater than sign
,逗号comma
?问号question mark
^折音号circumflex,caret
<>尖括号angle brackets

参考来源:键盘符号名称大全

三、了解MySQL世界

1. 命令提示符中结束SQL命令语句的2种方法

在Win11命令提示符输入DOS命令,直接回车就能执行得到你要结果。
在命令提示符登录MySQL后,输入?显示的MySQL命令一样可以直接回车使用。
而SQL命令语句必须加英文分号结束语句。

(1)SQL语句结尾输入分号 ;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_school          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

(2)SQL语句结尾输入\G(纵向显示,也称垂直显示,结尾不需要分号)

mysql> show databases\G
*************************** 1. row ***************************
Database: information_schema
*************************** 2. row ***************************
Database: db_school
*************************** 3. row ***************************
Database: mysql
*************************** 4. row ***************************
Database: performance_schema
*************************** 5. row ***************************
Database: test
5 rows in set (0.00 sec)

2. SQL命令和SQL语句

SQL命令:是固定的SQL保留字称为命令

例如:show databases、show create database 、create database 等等,在CSND文章中插入的SQL代码中关键字显示“紫色”,在Win11命令提示符里面都是黑底白字。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_school          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

SQL语句:是SQL命令和文字符号组合成的语句,结尾需要英文分号;

类似英语语法的语句,是具有计算机编程语言特征的代码语句。
例如:show create database db_school; 就是命令show create database加上数据库名db_school。

mysql> show create database db_school;
+-----------+--------------------------------------------------------------------------------------------------+
| Database  | Create Database                                                                                  |
+-----------+--------------------------------------------------------------------------------------------------+
| db_school | CREATE DATABASE `db_school` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+-----------+--------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

3. Win11命令提示符中的MySQL命令类似DOS命令

特别注意
在CMD命令提示符中输入单独一句MySQL命令可以类似DOS命令结尾不加分号使用,
而在phpMyAdmin等其他数据库管理软件的SQL窗口,所有SQL命令语句结尾必须加英文分号;

下面是命令提示符中MySQL命令和命令简写,命令或部分命令简写必须写在句子第一个。
并且命令简写是有区别英文大小写!

clear命令或\c : 清除或结束输入错误的SQL语句,输入\c比用分号结束语句更好用,可以重新输入正确的SQL语句。

connect命令或\r:连接数据库,或者显示当前使用的数据库。

4种写法: connect db_school 或者connect `db_school` 或者 \r db_school 或单独 \r

mysql> connect db_school
Connection id:    2
Current database: db_school

mysql> \r
Connection id:    3
Current database: db_school


mysql> \r db_school 
Connection id:    4
Current database: db_school


mysql> connect `db_school`
Connection id:    5
Current database: db_school

exit 或quit 或\q :退出MySQL。

\G 纵向显示命令。(小写\g 仅发送mysql命令到服务器)

use命令或\u : 使用另一个数据库,必须和数据名一起使用,不能单独使用。

3种写法 :use db_school 或者use `db_school` 或者 \u db_school

mysql> use db_school
Database changed
mysql> use `db_school`
Database changed
mysql> \u db_school
Database changed

help create database 显示创建数据库的语法格式

mysql> help create database
Name: 'CREATE DATABASE'
Description:
Syntax:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

CREATE DATABASE creates a database with the given name. To use this
statement, you need the CREATE privilege for the database. CREATE
SCHEMA is a synonym for CREATE DATABASE.

URL: http://dev.mysql.com/doc/refman/5.5/en/create-database.html

\s 显示当前数据库服务器状态

mysql> \s
--------------
c:/wamp/bin/mysql/mysql5.5.24/bin/mysql.exe  Ver 14.14 Distrib 5.5.24, for Win32 (x86)

Connection id:          1
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.5.24-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
Uptime:                 23 sec

Threads: 1  Questions: 4  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.173
--------------

? 或者\h 或者help,显示所有MySQL命令。

mysql> ?

For information about MySQL products and services, visit:
   http://www.mysql.com/
For developer information, including the MySQL Reference Manual, visit:
   http://dev.mysql.com/
To buy MySQL Enterprise support, training, or other products, visit:
   https://shop.mysql.com/

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
notee     (\t) Don't write into outfile.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
  • 30
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值