在Linux中使用MySQL基础SQL语句及校验规则

卸载内置环境

查看是否存在MySQL

bash 复制代码
ps axj | grep mysql

关闭MySQL

bash 复制代码
systemctl stop mysqld

MySQL对应的安装文件

bash 复制代码
rpm -qa | grep mysql

批量卸载

bash 复制代码
rpm -qa | grep mysql | xargs yum -y remove

上传MySQL

bash 复制代码
rz 

查看本地yum源

bash 复制代码
ls /etc/yum.repos.d/ -a

安装MySQL

bash 复制代码
 rpm -ivh mysql57-community-release-el7.rpm

查看Linux版本

bash 复制代码
cat /etc/redhat-release

显示数据库show databases

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.02 sec)

bash 复制代码
/var/lib/mysql

会多一个目录。

创建

cpp 复制代码
mysql> create database database1;

删除

bash 复制代码
mysql> drop database database1;

数据库的两个编码集

1.数据库编码集 数据库未来存储数据

2.数据库校验集 支持数据库,进行比较使用的编码,本质也是一种数据库中数据采用的编码方式。

数据库无论是对数据做任何操作,都必须保证操作和编码是一致的。

字符集和校验规则

查看系统默认字符集以及校验规则

cpp 复制代码
show variables like 'character_set_database';
show variables like 'collation_database';

查看数据库支持的字符集

bash 复制代码
show charset;

查看数据库支持的字符集校验规则

cpp 复制代码
show collation;
bash 复制代码
create database d1 charset=utf8 collate utf8_general_ci;

对其进行设置。

bash 复制代码
mysql> create database test1 collate utf8_general_ci;

mysql> create database test1 collate utf8_general_ci;

Query OK, 1 row affected, 1 warning (0.02 sec)

bash 复制代码
mysql> create database test2 collate utf8_bin;

mysql> create database test2 collate utf8_bin;

Query OK, 1 row affected, 1 warning (0.02 sec)

bash 复制代码
mysql> create table person(name varchar(20));

不区分大小写 utf8_general_ci

mysql> select * from person where name='a';
+------+
| name |
+------+
| a |
| A |
+------+

区分大小写 utf8_bin

mysql> use test2

Database changed

mysql> create table person(name varchar(20));

Query OK, 0 rows affected (0.06 sec)

mysql> insert into person (name) values ('a');

Query OK, 1 row affected (0.01 sec)

mysql> insert into person (name) values ('A');

Query OK, 1 row affected (0.02 sec)

mysql> select * from person where name='a';
+------+
| name |
+------+
| a |
+------+

显示

mysql> show tables;

+-----------------+

| Tables_in_test1 |

+-----------------+

| person |

+-----------------+

1 row in set (0.01 sec)

desc

mysql> desc person;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| name | varchar(20) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

1 row in set (0.01 sec)

select (DQL)

bash 复制代码
mysql> select * form person;

插入

bash 复制代码
mysql> insert into person (name) values ('D');

order by

bash 复制代码
mysql> select * form person order by name;
相关推荐
平凡灵感码头34 分钟前
什么是 Bootloader?怎么把它移植到 STM32 上?
linux·soc
憨堡包^—^1 小时前
Docker —— MySQL主从复制集群
mysql·docker·容器
MarkGosling1 小时前
【开源项目】网络诊断告别命令行!NetSonar:开源多协议网络诊断利器
运维·后端·自动化运维
无敌的牛1 小时前
Linux基础开发工具
linux·运维·服务器
Edingbrugh.南空1 小时前
实战指南:用pmap+gdb排查Linux进程内存问题
linux·运维·服务器
朱颜辞镜花辞树‎1 小时前
GitHub 操作指南:项目协作与自动化工作流实践
运维·自动化·github
亚马逊云开发者2 小时前
将 Go 应用从 x86 平台迁移至 Amazon Graviton:场景剖析与最佳实践
linux·数据库·golang
大叔是90后大叔2 小时前
Linux/Ubuntu安装go
linux·ubuntu·golang
凉拌青瓜哈2 小时前
DVWA-LOW级-SQL手工注入漏洞测试(MySQL数据库)+sqlmap自动化注入-小白必看(超详细)
mysql·安全·网络安全
孙克旭_2 小时前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible