数据库基本操做

linux数据库基本操作
1.准备软件仓库目录
[root@localhost ~]# mkdir /mnt/dvd
[root@localhost ~]# mount /dev/cdrom /mnt/dvd
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# mkdir /root/cos
[root@localhost ~]# cp -fr /mnt/dvd/* /root/cos

2.设置yum软件源
[root@localhost ~]# mkdir /etc/yum.repos.d/oldrepo
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/oldrepo
[root@localhost ~]# yum-config-manager --add-repo file:///root/cos
已加载插件:fastestmirror, langpacks
adding repo from: file:///root/cos

[root_cos]
name=added from: file:///root/cos
baseurl=file:///root/cos
enabled=1

[root@localhost ~]# vim /etc/yum.conf
数据库基本操做
图1将gpgcheck=1改为gpgcheck=0后保存退出到命令行

[root@localhost ~]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
root_cos | 3.6 kB 00:00
(1/2): root_cos/group_gz | 166 kB 00:00
(2/2): root_cos/primary_db | 3.1 MB 00:00
源标识 源名称 状态
root_cos added from: file:///root/cos 3,971
repolist: 3,971

3.安装 mariadb-server、mariadb 软件包
[root@localhost ~]# yum -y install mariadb-server mariadb
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.56-2.el7 将被 安装
---> 软件包 mariadb-server.x86_64.1.5.5.56-2.el7 将被 安装
--> 正在处理依赖关系 perl-DBD-MySQL,它被软件包 1:mariadb-server-5.5.56-2.el7.x86_64 需要
--> 正在检查事务
---> 软件包 perl-DBD-MySQL.x86_64.0.4.023-6.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

==========================================================================
Package 架构 版本 源 大小

正在安装:
mariadb x86_64 1:5.5.56-2.el7 root_cos 8.7 M
mariadb-server x86_64 1:5.5.56-2.el7 root_cos 11 M
为依赖而安装:
perl-DBD-MySQL x86_64 4.023-6.el7 root_cos 140 k

事务概要

安装 2 软件包 (+1 依赖软件包)

总下载量:20 M
安装大小:107 M
Downloading packages:

总计 60 MB/s | 20 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:mariadb-5.5.56-2.el7.x86_64 1/3
正在安装 : perl-DBD-MySQL-4.023-6.el7.x86_64 2/3
正在安装 : 1:mariadb-server-5.5.56-2.el7.x86_64 3/3
验证中 : 1:mariadb-server-5.5.56-2.el7.x86_64 1/3
验证中 : perl-DBD-MySQL-4.023-6.el7.x86_64 2/3
验证中 : 1:mariadb-5.5.56-2.el7.x86_64 3/3

已安装:
mariadb.x86_64 1:5.5.56-2.el7 mariadb-server.x86_64 1:5.5.56-2.el7

作为依赖被安装:
perl-DBD-MySQL.x86_64 0:4.023-6.el7

完毕!
[root@localhost ~]#

4.检查软件包

[root@localhost ~]# yum list mariadb-server mariadb
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安装的软件包
mariadb.x86_64 1:5.5.56-2.el7 @root_cos
mariadb-server.x86_64 1:5.5.56-2.el7 @root_cos

5.设置开机自启

[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

6.检查服务状态

[root@localhost ~]# systemctl status mariadb
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-06-06 16:25:46 CST; 1min 47s ago
Main PID: 4315 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─4315 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─4477 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib...

6月 06 16:25:42 localhost.localdomain mariadb-prepare-db-dir[4236]: My...
6月 06 16:25:42 localhost.localdomain mariadb-prepare-db-dir[4236]: Pl...
6月 06 16:25:42 localhost.localdomain mariadb-prepare-db-dir[4236]: Th...
6月 06 16:25:42 localhost.localdomain mariadb-prepare-db-dir[4236]: Yo...
6月 06 16:25:42 localhost.localdomain mariadb-prepare-db-dir[4236]: ht...
6月 06 16:25:42 localhost.localdomain mariadb-prepare-db-dir[4236]: Co...
6月 06 16:25:42 localhost.localdomain mariadb-prepare-db-dir[4236]: ht...
6月 06 16:25:43 localhost.localdomain mysqld_safe[4315]: 190606 16:25:...
6月 06 16:25:43 localhost.localdomain mysqld_safe[4315]: 190606 16:25:...
6月 06 16:25:46 localhost.localdomain systemd[1]: Started MariaDB data...
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost ~]# netstat -nl | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

7.设置数据库密码
[root@localhost ~]# mysqladmin -uroot password '123456'

8.改数据库密码
[root@localhost ~]# mysqladmin -uroot -p123456 password 'shujuku@mima'

9.将默认字符集设为utf8,以支持中文
[root@localhost ~]# vim /etc/my.cnf
数据库基本操做
数据库基本操做
图1插入character_set_server=utf8 -----图2

10.重启数据库
[root@localhost ~]# systemctl restart mariadb

10.进入数据库
[root@localhost ~]# mysql -uroot -pshujuku@mima
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

11.数据库基本操作:
查看数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)

进入mysql库
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

列出库中的表
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.00 sec)

创建名为 studb 的库,确认结果
MariaDB [mysql]> create database studb;
Query OK, 1 row affected (0.00 sec)

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

MariaDB [mysql]>

删除名为 test 的库,确认结果
MariaDB [mysql]> drop database test;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| studb |
+--------------------+
4 rows in set (0.00 sec)

在 studb 库中创建 base 表
字符型字段应用
MariaDB [studb]> create table base(学号 char(13), 姓名 varchar(20), 性别 char(1), 手机号 char(13), 通信地址 varchar(48));;
Query OK, 0 rows affected (0.01 sec)

MariaDB [studb]>

检查表格的列设置
MariaDB [studb]> describe base;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| 学号 | char(13) | YES | | NULL | |
| 姓名 | varchar(20) | YES | | NULL | |
| 性别 | char(1) | YES | | NULL | |
| 手机号 | char(13) | YES | | NULL | |
| 通信地址 | varchar(48) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

MariaDB [studb]>

写入表格数据

MariaDB [studb]> INSERT INTO base VALUES('NTD2020110001', '郭靖', '男', '13145201314', '东海桃花岛');
Query OK, 1 row affected (0.00 sec)

MariaDB [studb]> insert into base values('NTD2020110002','黄蓉','女','13145201413','东 海桃花岛');
Query OK, 1 row affected (0.00 sec)

MariaDB [studb]> insert into base values('NTD2020110003','华筝','女','13705666777','蒙 古大营');
Query OK, 1 row affected (0.00 sec)

查看表格数据
MariaDB [studb]> select * from base;
+---------------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 通信地址 |
+---------------+--------+--------+-------------+-----------------+
| NTD2020110001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| NTD2020110002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| NTD2020110003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
+---------------+--------+--------+-------------+-----------------+
3 rows in set (0.00 sec)

删除 base 表中的所有数据记录,确认结果
MariaDB [studb]> delete from base;
Query OK, 3 rows affected (0.00 sec)

MariaDB [studb]> select * from base;
Empty set (0.00 sec)
MariaDB [studb]> show tables;
+-----------------+
| Tables_in_studb |
+-----------------+
| base |
+-----------------+
1 row in set (0.01 sec)

删除整个 base 表,确认结果
MariaDB [studb]> drop table base;
Query OK, 0 rows affected (0.03 sec)

MariaDB [studb]> select * from base;
ERROR 1146 (42S02): Table 'studb.base' doesn't exist

MariaDB [studb]> show tables;
Empty set (0.00 sec)

重新建立 base 表,并录入全部5条数据记录
MariaDB [studb]> create table base(学号 char(13), 姓名 varchar(4), 性别 char(1), 手机号 char(13), 地址 varchar(40));
Query OK, 0 rows affected (0.02 sec)

MariaDB [studb]> insert into base values('SD10001','郭靖','男','13145201314','东海桃花岛');
Query OK, 1 row affected (0.01 sec)

MariaDB [studb]> insert into base values ('SD10002','黄蓉','女','13145201413','东海桃花岛');
Query OK, 1 row affected (0.00 sec)

MariaDB [studb]> insert into base values('SD10003','华筝','女','13705666777','蒙古大营');
Query OK, 1 row affected (0.00 sec)

MariaDB [studb]> insert into base values('SD10004','洪七公','男','13888888888','太湖北丐帮总舵');
Query OK, 1 row affected (0.00 sec)

MariaDB [studb]> insert into base values('SD10005','欧阳锋','男','18777777777','西域白陀山庄');
Query OK, 1 row affected (0.01 sec)

MariaDB [studb]> select * from base;
+---------+-----------+--------+-------------+-----------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七公 | 男 | 13888888888 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
+---------+-----------+--------+-------------+-----------------------+
5 rows in set (0.00 sec)

复制studb库中的base表,建立新表sd(包括原base表中的所有数据)
MariaDB [studb]> create table SD select * from base;
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七公 | 男 | 13888888888 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
+---------+-----------+--------+-------------+-----------------------+
5 rows in set (0.00 sec)

进入base库 从studb库中复制base表,建立新表SD的结构
MariaDB [studb]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| base |
| mysql |
| performance_schema |
| studb |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [mysql]> use base;
Database changed
MariaDB [base]> create table SD like studb.base;
Query OK, 0 rows affected (0.19 sec)

MariaDB [base]> select * from SD;
Empty set (0.00 sec)

MariaDB [base]> SHOW TABLES;
+----------------+
| Tables_in_base |
+----------------+
| SD |
+----------------+
1 row in set (0.00 sec)

MariaDB [base]> desc SD;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| 学号 | char(13) | YES | | NULL | |
| 姓名 | varchar(4) | YES | | NULL | |
| 性别 | char(1) | YES | | NULL | |
| 手机号 | char(13) | YES | | NULL | |

数值型字段应用
新建表格 gongzi,包含字段 工号 int和本月实发 float(8,2)
MariaDB [base]> create table gongzi (工号 int, 本月实发 float(8,2));
Query OK, 0 rows affected (0.01 sec)

MariaDB [base]> insert into gongzi values(1002,456456.124);
Query OK, 1 row affected (0.00 sec)

MariaDB [base]> insert into gongzi values (1003,456456);
Query OK, 1 row affected (0.00 sec)

MariaDB [base]> select * from gongzi;
+--------+--------------+
| 工号 | 本月实发 |
+--------+--------------+
| 1001 | 12345.23 |
| 1002 | 456456.12 |
| 1003 | 456456.00 |
+--------+--------------+
3 rows in set (0.00 sec)

INSERT插入表记录
进入studb库
MariaDB [base]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> use studb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [studb]> show tables;
+-----------------+
| Tables_in_studb |
+-----------------+
| SD |
| base |
+-----------------+
2 rows in set (0.00 sec)

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七公 | 男 | 13888888888 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
+---------+-----------+--------+-------------+-----------------------+
5 rows in set (0.00 sec)

向SD表批量插入数据
MariaDB [studb]> insert into SD values
-> ('SD10006','周伯通','男','12345678910','终南山全真教重阳宫'),
-> ('SD10007','王重阳','男','18156568877','终南山全真教重阳宫'),
-> ('SD10008','段王爷','男','17145645611','云南大理皇宫');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七公 | 男 | 13888888888 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
8 rows in set (0.00 sec)

将 姓名='洪七公' 的人的联系电话修改为 '11111111111'
MariaDB [studb]> update SD set 手机号='11111111111' where 姓名='洪七公';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七公 | 男 | 11111111111 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
8 rows in set (0.00 sec)

将 姓名='洪七公' 的人的姓名修改为 '洪七'
MariaDB [studb]> UPDATE SD set 姓名='洪七' where 姓名='洪七公';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七 | 男 | 11111111111 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
8 rows in set (0.00 sec)

删除SD表中 姓名='洪七公' 的数据记录
MariaDB [studb]> delete from SD where 姓名='洪七公';
Query OK, 0 rows affected (0.00 sec)

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七 | 男 | 11111111111 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
8 rows in set (0.00 sec)

此时表格中已经没有姓名为“洪七公”的记录(只有“洪七”),所有不会有记录被删除

删除SD表中 姓名='洪七' 的数据记录
MariaDB [studb]> delete from SD where 姓名='洪七';
Query OK, 1 row affected (0.01 sec)

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
7 rows in set (0.00 sec)

列出表中每一条记录的 姓名、联系电话
MariaDB [studb]> SELECT 姓名,手机号 FROM SD;
+-----------+-------------+
| 姓名 | 手机号 |
+-----------+-------------+
| 郭靖 | 13145201314 |
| 黄蓉 | 13145201413 |
| 华筝 | 13705666777 |
| 欧阳锋 | 18777777777 |
| 周伯通 | 12345678910 |
| 王重阳 | 18156568877 |
| 段王爷 | 17145645611 |
+-----------+-------------+
7 rows in set (0.00 sec)

列出SD表中 性别='女' 的详细数据记录
MariaDB [studb]> select * from SD where 性别='女';
+---------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+--------+--------+-------------+-----------------+
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
+---------+--------+--------+-------------+-----------------+
2 rows in set (0.00 sec)

列出SD表中 性别='女' 的记录的 姓名、联系电话
MariaDB [studb]> select 姓名,手机号 from SD where 性别='女';
+--------+-------------+
| 姓名 | 手机号 |
+--------+-------------+
| 黄蓉 | 13145201413 |
| 华筝 | 13705666777 |
+--------+-------------+
2 rows in set (0.00 sec)

列出SD表中 地址='东海桃花岛' 的详细数据记录
MariaDB [studb]> select * from SD where 地址='东海桃花岛';
+---------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+--------+--------+-------------+-----------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
+---------+--------+--------+-------------+-----------------+
2 rows in set (0.00 sec)

列出表中 SD地址不是东海桃花岛 的数据记录
MariaDB [studb]> select * from SD where 地址!='东海桃花岛';
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
5 rows in set (0.00 sec)

列出表中地址='东海桃花岛' 而且 性别='女' 的数据记录
MariaDB [studb]> select * from SD where 地址='东海桃花岛' and 性别='女';
+---------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+--------+--------+-------------+-----------------+
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
+---------+--------+--------+-------------+-----------------+
1 row in set (0.00 sec)

列出表中地址='蒙古大营' 或者 性别='女' 的数据记录
MariaDB [studb]> select * from SD where 地址='蒙古大营' or 性别='女';
+---------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+--------+--------+-------------+-----------------+
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
+---------+--------+--------+-------------+-----------------+
2 rows in set (0.00 sec)

列出表中 姓名 为 郭靖、黄蓉、欧阳锋的数据记录
MariaDB [studb]> select * from SD where 姓名 in ('郭靖', '黄蓉', '欧阳锋');
+---------+-----------+--------+-------------+--------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+--------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
+---------+-----------+--------+-------------+--------------------+
3 rows in set (0.00 sec)

列出表中 通信地址 包括 '全真教' 字串的数据记录
MariaDB [studb]> select * from SD where 地址 like '%全真教%';
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
+---------+-----------+--------+-------------+-----------------------------+
2 rows in set (0.01 sec)

列出表中 姓名 只有 两个字 的数据记录
MariaDB [studb]> select * from SD where 姓名 like '__';
+---------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+--------+--------+-------------+-----------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
+---------+--------+--------+-------------+-----------------+
3 rows in set (0.00 sec)

查询表中 性别='男' 的侠客人数
MariaDB [studb]> select count() from SD where 性别='男';
+----------+
| count(
) |
+----------+
| 5 |
+----------+
1 row in set (0.03 sec)

列出表中 地址='东海桃花岛' 的数据记录,按学号降序排列
MariaDB [studb]> select * from SD where 地址='东海桃花岛' order by 学号 desc;
+---------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+--------+--------+-------------+-----------------+
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
+---------+--------+--------+-------------+-----------------+
2 rows in set (0.01 sec)

列出表中 性别='男' 的第4~5条记录
MariaDB [studb]> select * from SD where 性别='男' limit 3,2;
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
2 rows in set (0.00 sec)

列出表中前3条数据记录
MariaDB [studb]> select * from SD limit 3;
+---------+--------+--------+-------------+-----------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+--------+--------+-------------+-----------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
+---------+--------+--------+-------------+-----------------+
3 rows in set (0.00 sec)

备份数据库资料
备份studb库,保存为/root/studb.sql文件
MariaDB [studb]> quit
Bye
[root@localhost ~]#mysql -uroot -pshujuku@mima studb > /root/studb.sql
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg 公共 视频 文档 音乐
cos studb.sql 模板 图片 下载 桌面

备份studb库和mysql库,保存为/root/studb.sql文件
[root@localhost ~]# mysqldump -uroot -pshujuku@mima --databases studb mysql > /root/studb+mysql.sql
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg studb.sql 模板 图片 下载 桌面
cos studb+mysql.sql 公共 视频 文档 音乐

备份所有库,保存为/root/alldb.sql文件
[root@localhost ~]# mysqldump -uroot -pshujuku@mima --all-databases > /root/all.sql
[root@localhost ~]# ls
all.sql initial-setup-ks.cfg 公共 图片 音乐
anaconda-ks.cfg studb+mysql.sql 模板 文档 桌面
cos studb.sql 视频 下载

恢复数据库
删除名为 studb 的库,检查结果
[root@localhost ~]# mysql -uroot -pshujuku@mima
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| base |
| mysql |
| performance_schema |
| studb |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> drop database studb;
Query OK, 2 rows affected (0.02 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| base |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

重建名为 studb 的空库
MariaDB [(none)]> create database studb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> quit
Bye

将备份文件 /root/studb.sql 导入名为 studb 的库
[root@localhost ~]# mysql -uroot -pshujuku@mima studb < /root/studb.sql
[root@localhost ~]#

检查 studb 库中的表格数据
[root@localhost ~]# mysql -uroot -pshujuku@mima
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 21
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
MariaDB [(none)]> create database studb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> quit
Bye
[root@localhost ~]# mysql -uroot -pshujuku@mima studb < /root/studb.sql
[root@localhost ~]# mysql -uroot -pshujuku@mima
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 23
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use studb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [studb]> show tables;
+-----------------+
| Tables_in_studb |
+-----------------+
| SD |
| base |
+-----------------+
2 rows in set (0.00 sec)

MariaDB [studb]> select * from SD;
+---------+-----------+--------+-------------+-----------------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
| SD10006 | 周伯通 | 男 | 12345678910 | 终南山全真教重阳宫 |
| SD10007 | 王重阳 | 男 | 18156568877 | 终南山全真教重阳宫 |
| SD10008 | 段王爷 | 男 | 17145645611 | 云南大理皇宫 |
+---------+-----------+--------+-------------+-----------------------------+
7 rows in set (0.00 sec)

MariaDB [studb]> select * from base;
+---------+-----------+--------+-------------+-----------------------+
| 学号 | 姓名 | 性别 | 手机号 | 地址 |
+---------+-----------+--------+-------------+-----------------------+
| SD10001 | 郭靖 | 男 | 13145201314 | 东海桃花岛 |
| SD10002 | 黄蓉 | 女 | 13145201413 | 东海桃花岛 |
| SD10003 | 华筝 | 女 | 13705666777 | 蒙古大营 |
| SD10004 | 洪七公 | 男 | 13888888888 | 太湖北丐帮总舵 |
| SD10005 | 欧阳锋 | 男 | 18777777777 | 西域白陀山庄 |
+---------+-----------+--------+-------------+-----------------------+
5 rows in set (0.00 sec)

回复多个库
MariaDB [(none)]> drop database studb;
Query OK, 2 rows affected (0.00 sec)

MariaDB [(none)]> drop database mysql;
Query OK, 24 rows affected, 2 warnings (0.02 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| base |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]> quit
Bye
[root@localhost ~]# mysql -uroot -pshujuku@mima < /root/studb+mysql.sql
[root@localhost ~]# mysql -uroot -pshujuku@mima
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 26
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| base |
| mysql |
| performance_schema |
| studb |
+--------------------+
5 rows in set (0.00 sec)

以上为操作
常见数据库管理系统
微软---SQL Server
IBM---DB2
甲骨文---Oravle MySQL
社区开源版---Mariadb

MYSQL/Mariadb特点
--适用于中小规模,关系型数据库系统
---支持linux/unix,windows等操作系统
---使用C和C++编写,可移植性强
---通过API支持Python/java/Perl PHP等语言

应用环境
--LAMP平台,与Apazhe HTTP Server组合
--LNMP平台,与Nginx组合

安装包
--数据库服务端:mariadb-server
--数据库客户端及管理工具:mariadb

修改管理密码
使用mysqladmin设置密码
-mysqladmin [-u用户名] [-p旧密码] password '新密码'
数据库基本操做

连接数据库服务器
数据库基本操做

列出库---show databases;
选择库---use 库名;
列出库里的表---show tables;
创建新库--create database 库名;(注:数据库名字1.由字符,数字,下划线组成。区分大小写。 2.不能以数字开头)
删除库---drop database 库名;
创建新表--create table 表名(列名 类型(长度), 列名 类型(长度),......);
查看表格列的设置------describe 表名;
插入表的数据----insert into 表名 values('值1','值2','值3', ......); (注:命令中都是英文标点符号)
列出表的所有数据-----select from [库名.]表名;
删除表里的数据---delete from [库名.]表名;
删除整个表------drop table [库名.]表名;
复制表结构,不复制表里的数据----create table [库名.]表名 like [库名.]表名(被复制的);
复制表结构和数据----create table [库名.]表名 select
from [库名.]表名(被复制的);

表格字段的数据类型(mariadb的)
类别 关键字
字符型 定长字符串 char , 变长字符串 varchar
数值型 整数 int ,浮点数 float ,双精度浮点数 doubel
日期时间型 日期时间 datetime , 日期 data , 时间 time

数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

DML数据操控
数据库基本操做数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

DQL数据查询
数据库基本操做
数据库基本操做

数据库基本操做

数据库基本操做

数据库基本操做

匹配条件(参与字段是字符类型)
类型 用途
= 相等
!= 不相等
匹配条件(参与字段是数值类型)
= 等于
!= 不等于

= 大于 大于或等于
< <= 小于 小于或等于

转载于:https://blog.51cto.com/14312470/2406339

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值