MySQL数据库基础(三)数据的导入导出、管理表记录、匹配条件
数据的导入导出
搜索路径
- 查看搜索路径
- 安装时已经自动创建
- 命令:mysql > show variables like “secure_file_priv”;
mysql> show variables like "secure_file_priv" ;
+------------------+-----------------------+
| Variable_name | Value |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.00 sec)[root@host51 ~]# ls -ld /var/lib/mysql-files/
drwxr-x---. 2 mysql mysql 6 11月 29 2016 /var/lib/mysql-files/
- 修改搜索路径
- 操作步骤:
- 1.以管理员身份登录mysql,查看其当前默认搜索路径
- 2.退出,进入到主配置文件/etc/my.cnf,添加新的搜索路径(注:一定要确认新的路径可以让mysql用户有读写执行权限)
- 3.重启mysqld服务
- 4.再次以管理员身份登录mysql,查看现在的默认 路径
+------------------+-----------------------+
| Variable_name | Value |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.00 sec)[root@host51 ~]# ls -ld /var/lib/mysql-files/
drwxr-x---. 2 mysql mysql 6 11月 29 2016 /var/lib/mysql-files/[root@host51 ~]# vim /etc/my.cnf
...
[mysqld]
secure_file_priv=/myload
validate_password_policy=0
validate_password_length=6
...[root@host51 ~]# mkdir /myload[root@host51 ~]# ls -ld /myload
drwxr-xr-x. 2 root root 6 2月 15 11:14 /myload[root@host51 ~]# chown mysql /myload[root@host51 ~]# ls -ld /myload
drwxr-xr-x. 2 mysql root 6 2月 15 11:14 /myload[root@host51 ~]# systemctl restart mysqld[root@host51 ~]# mysql -uroot -p123456
mysql> show variables like "secure_file_priv";
+------------------+----------+
| Variable_name | Value |
+------------------+----------+
| secure_file_priv | /myload/ |
+------------------+----------+
1 row in set (0.00 sec)
数据导入
- 数据导入:
- 批量存储数据,把系统文件的内容,存储到数据库下的表里
- 默认只有root用户有数据导入权限
- 步骤 建库-------->建表------> 把系统文件拷贝到检索目录------导入数据------>查看数据
- **命令格式:**mysql > load data infile “目录名/文件名” into table 库名.表名 fields terminated by “分隔符” lines terminated by “\n” ;
- 数据导入注意事项
1.字段分隔符要与文件一致
2.表字段类型和字段个数要与文件相匹配
3.导入数据时指定文件的绝对路径
mysql> create database db3;
Query OK, 1 row affected (0.00 sec)mysql> create table db3.user(name char(50) ,password char(1) ,uid int ,gid int ,comment varchar(200) ,homedir varchar(100) ,shell char(60) );
Query OK, 0 rows affected (0.01 sec)
#以/etc/passwd文件为导入数据mysql> desc db3.user;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| name | char(50) | YES | | NULL | |
| password | char(1) | YES | | NULL | |
| uid | int(11) | YES | | NULL | |
| gid | int(11) | YES | | NULL | |
| comment | varchar(200) | YES | | NULL | |
| homedir | varchar(100) | YES | | NULL | |
| shell | char(60) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
7 rows in set (0.01 sec)[root@host51 ~]# cp /etc/passwd /myload/mysql> load data infile "/myload/passwd" into table db3.user fields terminated by ":" lines terminated by "\n" ; #导入数据
Query OK, 20 rows affected (0.01 sec)
Records: 20 Deleted: 0 Skipped: 0 Warnings: 0mysql> select * from db3.user; #查看表记录
+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| name | password | uid | gid | comment | homedir | shell |
+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| root | x | 0 | 0 | root | /root | /bin/bash |
| bin | x | 1 | 1 | bin | /bin | /sbin/nologin |
| daemon | x | 2 | 2 | daemon | /sbin | /sbin/nologin |
| adm | x | 3 | 4 | adm | /var/adm | /sbin/nologin |
| lp | x | 4 | 7 | lp | /var/spool/lpd | /sbin/nologin |
| sync | x | 5 | 0 | sync | /sbin | /bin/sync |
| shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown |
| halt | x | 7 | 0 | halt | /sbin | /sbin/halt |
| mail | x | 8 | 12 | mail | /var/spool/mail | /sbin/nologin |
| operator | x | 11 | 0 | operator | /root | /sbin/nologin |
| games | x | 12 | 100 | games | /usr/games | /sbin/nologin |
| ftp | x | 14 | 50 | FTP User | /var/ftp | /sbin/nologin |
| nobody | x | 99 | 99 | Nobody | / | /sbin/nologin |
| systemd-network | x | 192 | 192 | systemd Network Management | / | /sbin/nologin |
| dbus | x | 81 | 81 | System message bus | / | /sbin/nologin |
| polkitd | x | 999 | 998 | User for polkitd | / | /sbin/nologin |
| sshd | x | 74 | 74 | Privilege-separated SSH | /var/empty/sshd | /sbin/nologin |
| postfix | x | 89 | 89 | | /var/spool/postfix | /sbin/nologin |
| chrony | x | 998 | 996 | | /var/lib/chrony | /sbin/nologin |
| mysql | x | 27 | 27 | MySQL Server | /var/lib/mysql | /bin/false |
+-----------------+----------+------+------+----------------------------+--------------------+----------------+mysql> alter table db3.user add id int primary key auto_increment first;
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> desc db3.user;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(50) | YES | | NULL | |
| password | char(1) | YES | | NULL | |
| uid | int(11) | YES | | NULL | |
| gid | int(11) | YES | | NULL | |
| comment | varchar(200) | YES | | NULL | |
| homedir | varchar(100) | YES | | NULL | |
| shell | char(60) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)mysql> alter table db3.user add id int primary key auto_increment first; #添加行号id的字段,将其设为主键,并且自增mysql> select * from db3.user where id=6;
+----+------+----------+------+------+---------+---------+-----------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+------+----------+------+------+---------+---------+-----------+
| 6 | sync | x | 5 | 0 | sync | /sbin | /bin/sync |
+----+------+----------+------+------+---------+---------+-----------+
1 row in set (0.01 sec)
数据导出
- 命令格式:
- 格式一:mysql > select命令 into outfile “目录名/文件名”;
- 格式二:mysql > select命令 into outfile “目录名/文件名” fields terminated by “分隔符”;
- 格式三:mysql > select命令 into outfile “目录名/文件名” fields termianted by “分隔符” lines terminated by “\n”;
- 注意事项:
- 导出数据行数由SQL查询决定
- 导出的是表记录,不包括字段名
- 自动创建存储数据的文件
- 存储数据文件,具有唯一性
mysql> select * from db2.stuinfo into outfile "/myload/one.txt" ; #将db2库中sutinfo表中的数据导出到/myload/one.txt文件
Query OK, 1 row affected (0.00 sec)[root@host51 ~]# cat /myload/one.txt
23 girl itmysql> select * from db2.t5 into outfile "/myload/two.txt" fields terminated by "#";
Query OK, 3 rows affected (0.00 sec)[root@host51 ~]# cat /myload/two.txt
1.1.1.1#21#allow
1.1.1.1#22#deny
2.1.1.1#22#denymysql> select * from db2.t6 into outfile "/myload/three.txt" fields terminated by "#" lines terminated by "?";
Query OK, 3 rows affected (0.00 sec)[root@host51 ~]# cat /myload/three.txt
11#qqq#133512#222344?12#eee#13332112#26744?13#rrr#004858#26989?mysql> select name ,shell , homedir from db3.user where id <=5 ;
+--------+---------------+----------------+
| name | shell | homedir |
+--------+---------------+----------------+
| root | /bin/bash | /root |
| bin | /sbin/nologin | /bin |
| daemon | /sbin/nologin | /sbin |
| adm | /sbin/nologin | /var/adm |
| lp | /sbin/nologin | /var/spool/lpd |
+--------+---------------+----------------+
5 rows in set (0.00 sec)mysql> select name ,shell , homedir from db3.user where id <=5 into outfile "/myload/four.txt"; #将db3库中user表内id小于等于5的字段数据导出到/myload/four.txt中
Query OK, 5 rows affected (0.00 sec)[root@host51 ~]# cat /myload/four.txt
root /bin/bash /root
bin /sbin/nologin /bin
daemon /sbin/nologin /sbin
adm /sbin/nologin /var/adm
lp /sbin/nologin /var/spool/lpd
管理表记录
增加表记录
- 语法格式
- 格式一:添加一条记录,给所有字段赋值
- mysql > insert into 表名 values(字段值列表);
- 格式二:添加多条记录,给所有字段赋值
- mysql > insert into 表名 values(字段值列表),(字段值列表),(字段值列表);
- 格式三:添加一条记录,给指定字段赋值
- mysql > insert into 表名(字段名列表) values(字段值列表);
- 格式四:添加多条记录,给指定字段赋值
- mysql > insert into 表名(字段名列表) values(字段值列表),(字段值列表),(字段值列表);
- 注意事项:
- 1.字段值要与字段类型相匹配
- 2.字符类型的字段,要用“ ”号括起来
- 3.依次给所有的字段赋值时,字段名可以省略
- 4.只给部分字段赋值时,必须要明确写出对应的字段名称
- 5.没有复制的字段使用默认值或自增长赋值
一次插入一条记录,给所有列赋值
mysql> insert into db3.user values (30 , "bob" ,"x",2020 , 2020 , "testuser" , "/home/bob" , "/bin/bash");
Query OK, 1 row affected (0.01 sec)一次插入多条记录,给所有列赋值mysql> insert into db3.user values (40 , "tom" ,"x",2030 , 2030 , "testuser" , "/home/bob" , "/sbin/nologin") , (50 , "tom" ,"x",2030 , 2030 , "testuser" , "/home/bobbob" , "/sbin/nologin");
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> select * from db3.user;
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| 1 | root | x | 0 | 0 | root | /root | /bin/bash |
| 2 | bin | x | 1 | 1 | bin | /bin | /sbin/nologin |
| 3 | daemon | x | 2 | 2 | daemon | /sbin | /sbin/nologin |
| 4 | adm | x | 3 | 4 | adm | /var/adm | /sbin/nologin |
| 5 | lp | x | 4 | 7 | lp | /var/spool/lpd | /sbin/nologin |
| 6 | sync | x | 5 | 0 | sync | /sbin | /bin/sync |
| 7 | shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown |
| 8 | halt | x | 7 | 0 | halt | /sbin | /sbin/halt |
| 9 | mail | x | 8 | 12 | mail | /var/spool/mail | /sbin/nologin |
| 10 | operator | x | 11 | 0 | operator | /root | /sbin/nologin |
| 11 | games | x | 12 | 100 | games | /usr/games | /sbin/nologin |
| 12 | ftp | x | 14 | 50 | FTP User | /var/ftp | /sbin/nologin |
| 13 | nobody | x | 99 | 99 | Nobody | / | /sbin/nologin |
| 14 | systemd-network | x | 192 | 192 | systemd Network Management | / | /sbin/nologin |
| 15 | dbus | x | 81 | 81 | System message bus | / | /sbin/nologin |
| 16 | polkitd | x | 999 | 998 | User for polkitd | / | /sbin/nologin |
| 17 | sshd | x | 74 | 74 | Privilege-separated SSH | /var/empty/sshd | /sbin/nologin |
| 18 | postfix | x | 89 | 89 | | /var/spool/postfix | /sbin/nologin |
| 19 | chrony | x | 998 | 996 | | /var/lib/chrony | /sbin/nologin |
| 20 | mysql | x | 27 | 27 | MySQL Server | /var/lib/mysql | /bin/false |
| 30 | bob | x | 2020 | 2020 | testuser | /home/bob | /bin/bash |
| 40 | tom | x | 2030 | 2030 | testuser | /home/bob | /sbin/nologin |
| 50 | tom | x | 2030 | 2030 | testuser | /home/bobbob | /sbin/nologin |
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
23 rows in set (0.00 sec)一次插入一条记录,给指定列表赋值
mysql> insert into db3.user(name) values("alice");
Query OK, 1 row affected (0.00 sec)一次插入多条记录,给指定列表赋值
mysql> insert into db3.user(name,uid,gid) values("tomA" ,123 ,123),("tomB" ,234 ,234),("tomC" ,345 ,345) ;
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from db3.user;
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| 1 | root | x | 0 | 0 | root | /root | /bin/bash |
| 2 | bin | x | 1 | 1 | bin | /bin | /sbin/nologin |
| 3 | daemon | x | 2 | 2 | daemon | /sbin | /sbin/nologin |
| 4 | adm | x | 3 | 4 | adm | /var/adm | /sbin/nologin |
| 5 | lp | x | 4 | 7 | lp | /var/spool/lpd | /sbin/nologin |
| 6 | sync | x | 5 | 0 | sync | /sbin | /bin/sync |
| 7 | shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown |
| 8 | halt | x | 7 | 0 | halt | /sbin | /sbin/halt |
| 9 | mail | x | 8 | 12 | mail | /var/spool/mail | /sbin/nologin |
| 10 | operator | x | 11 | 0 | operator | /root | /sbin/nologin |
| 11 | games | x | 12 | 100 | games | /usr/games | /sbin/nologin |
| 12 | ftp | x | 14 | 50 | FTP User | /var/ftp | /sbin/nologin |
| 13 | nobody | x | 99 | 99 | Nobody | / | /sbin/nologin |
| 14 | systemd-network | x | 192 | 192 | systemd Network Management | / | /sbin/nologin |
| 15 | dbus | x | 81 | 81 | System message bus | / | /sbin/nologin |
| 16 | polkitd | x | 999 | 998 | User for polkitd | / | /sbin/nologin |
| 17 | sshd | x | 74 | 74 | Privilege-separated SSH | /var/empty/sshd | /sbin/nologin |
| 18 | postfix | x | 89 | 89 | | /var/spool/postfix | /sbin/nologin |
| 19 | chrony | x | 998 | 996 | | /var/lib/chrony | /sbin/nologin |
| 20 | mysql | x | 27 | 27 | MySQL Server | /var/lib/mysql | /bin/false |
| 30 | bob | x | 2020 | 2020 | testuser | /home/bob | /bin/bash |
| 40 | tom | x | 2030 | 2030 | testuser | /home/bob | /sbin/nologin |
| 50 | tom | x | 2030 | 2030 | testuser | /home/bobbob | /sbin/nologin |
| 51 | alice | NULL | NULL | NULL | NULL | NULL | NULL |
| 52 | tomA | NULL | 123 | 123 | NULL | NULL | NULL |
| 53 | tomB | NULL | 234 | 234 | NULL | NULL | NULL |
| 54 | tomC | NULL | 345 | 345 | NULL | NULL | NULL |
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
27 rows in set (0.00 sec)
#不指定id值,id值会默认自增长
查询表记录
- 语法格式:
- 格式一:查所有字段
- mysql > select 字段1,……,字段N from 库名.表名;
- 格式二:条件查询
- mysql > select 字段1,……,字段N from 库名.表名 where 条件表达式;
- 注意事项:
- *表示所有字段
- 查看当前库表记录时库名可以省略
- 字段列表决定显示列个数
- 条件决定显示行的个数
mysql>select * from db3.user;
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
| 1 | root | x | 0 | 0 | root | /root | /bin/bash |
| 2 | bin | x | 1 | 1 | bin | /bin | /sbin/nologin |
| 3 | daemon | x | 2 | 2 | daemon | /sbin | /sbin/nologin |
| 4 | adm | x | 3 | 4 | adm | /var/adm | /sbin/nologin |
| 5 | lp | x | 4 | 7 | lp | /var/spool/lpd | /sbin/nologin |
| 6 | sync | x | 5 | 0 | sync | /sbin | /bin/sync |
| 7 | shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown |
| 8 | halt | x | 7 | 0 | halt | /sbin | /sbin/halt |
| 9 | mail | x | 8 | 12 | mail | /var/spool/mail | /sbin/nologin |
| 10 | operator | x | 11 | 0 | operator | /root | /sbin/nologin |
| 11 | games | x | 12 | 100 | games | /usr/games | /sbin/nologin |
| 12 | ftp | x | 14 | 50 | FTP User | /var/ftp | /sbin/nologin |
| 13 | nobody | x | 99 | 99 | Nobody | / | /sbin/nologin |
| 14 | systemd-network | x | 192 | 192 | systemd Network Management | / | /sbin/nologin |
| 15 | dbus | x | 81 | 81 | System message bus | / | /sbin/nologin |
| 16 | polkitd | x | 999 | 998 | User for polkitd | / | /sbin/nologin |
| 17 | sshd | x | 74 | 74 | Privilege-separated SSH | /var/empty/sshd | /sbin/nologin |
| 18 | postfix | x | 89 | 89 | | /var/spool/postfix | /sbin/nologin |
| 19 | chrony | x | 998 | 996 | | /var/lib/chrony | /sbin/nologin |
| 20 | mysql | x | 27 | 27 | MySQL Server | /var/lib/mysql | /bin/false |
| 30 | bob | x | 2020 | 2020 | testuser | /home/bob | /bin/bash |
| 40 | tom | x | 2030 | 2030 | testuser | /home/bob | /sbin/nologin |
| 50 | tom | x | 2030 | 2030 | testuser | /home/bobbob | /sbin/nologin |
| 51 | alice | NULL | NULL | NULL | NULL | NULL | NULL |
| 52 | tomA | NULL | 123 | 123 | NULL | NULL | NULL |
| 53 | tomB | NULL | 234 | 234 | NULL | NULL | NULL |
| 54 | tomC | NULL | 345 | 345 | NULL | NULL | NULL |
+----+-----------------+----------+------+------+----------------------------+--------------------+----------------+
27 rows in set (0.00 sec)
mysql> select * from db3.user where id<=10;
+----+----------+----------+------+------+----------+-----------------+----------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+----------+----------+------+------+----------+-----------------+----------------+
| 1 | root | x | 0 | 0 | root | /root | /bin/bash |
| 2 | bin | x | 1 | 1 | bin | /bin | /sbin/nologin |
| 3 | daemon | x | 2 | 2 | daemon | /sbin | /sbin/nologin |
| 4 | adm | x | 3 | 4 | adm | /var/adm | /sbin/nologin |
| 5 | lp | x | 4 | 7 | lp | /var/spool/lpd | /sbin/nologin |
| 6 | sync | x | 5 | 0 | sync | /sbin | /bin/sync |
| 7 | shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown |
| 8 | halt | x | 7 | 0 | halt | /sbin | /sbin/halt |
| 9 | mail | x | 8 | 12 | mail | /var/spool/mail | /sbin/nologin |
| 10 | operator | x | 11 | 0 | operator | /root | /sbin/nologin |
+----+----------+----------+------+------+----------+-----------------+----------------+
10 rows in set (0.00 sec)
mysql> select name ,shell from db3.user where shell="/sbin/nologin";
+-----------------+---------------+
| name | shell |
+-----------------+---------------+
| bin | /sbin/nologin |
| daemon | /sbin/nologin |
| adm | /sbin/nologin |
| lp | /sbin/nologin |
| mail | /sbin/nologin |
| operator | /sbin/nologin |
| games | /sbin/nologin |
| ftp | /sbin/nologin |
| nobody | /sbin/nologin |
| systemd-network | /sbin/nologin |
| dbus | /sbin/nologin |
| polkitd | /sbin/nologin |
| sshd | /sbin/nologin |
| postfix | /sbin/nologin |
| chrony | /sbin/nologin |
| tom | /sbin/nologin |
| tom | /sbin/nologin |
+-----------------+---------------+
17 rows in set (0.00 sec)
更新表记录
- 语法格式:
- 格式一:批量更新
mysql > update 库名.表名 set 字段名=值,字段名=值,……;
- 格式二:条件匹配更新
- mysql > update 库名.表名 set 字段名=值,字段名=值,字段名=值,…… where 条件表达式;
- 注意事项:
- 1.字段值要与字段类型相匹配
- 2.对于字符类型的字段,值要用双引号括起来
- 3.若不使用where限定条件,会更新所有记录字段值
- 4.限定条件时,只更新匹配条件的记录的字段值
mysql> update db3.user set password="a" ,comment="student";
Query OK, 27 rows affected (0.00 sec)
Rows matched: 27 Changed: 27 Warnings: 0mysql> select * from db3.user;
+----+-----------------+----------+------+------+---------+--------------------+----------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+-----------------+----------+------+------+---------+--------------------+----------------+
| 1 | root | a | 0 | 0 | student | /root | /bin/bash |
| 2 | bin | a | 1 | 1 | student | /bin | /sbin/nologin |
| 3 | daemon | a | 2 | 2 | student | /sbin | /sbin/nologin |
| 4 | adm | a | 3 | 4 | student | /var/adm | /sbin/nologin |
| 5 | lp | a | 4 | 7 | student | /var/spool/lpd | /sbin/nologin |
| 6 | sync | a | 5 | 0 | student | /sbin | /bin/sync |
| 7 | shutdown | a | 6 | 0 | student | /sbin | /sbin/shutdown |
| 8 | halt | a | 7 | 0 | student | /sbin | /sbin/halt |
| 9 | mail | a | 8 | 12 | student | /var/spool/mail | /sbin/nologin |
| 10 | operator | a | 11 | 0 | student | /root | /sbin/nologin |
| 11 | games | a | 12 | 100 | student | /usr/games | /sbin/nologin |
| 12 | ftp | a | 14 | 50 | student | /var/ftp | /sbin/nologin |
| 13 | nobody | a | 99 | 99 | student | / | /sbin/nologin |
| 14 | systemd-network | a | 192 | 192 | student | / | /sbin/nologin |
| 15 | dbus | a | 81 | 81 | student | / | /sbin/nologin |
| 16 | polkitd | a | 999 | 998 | student | / | /sbin/nologin |
| 17 | sshd | a | 74 | 74 | student | /var/empty/sshd | /sbin/nologin |
| 18 | postfix | a | 89 | 89 | student | /var/spool/postfix | /sbin/nologin |
| 19 | chrony | a | 998 | 996 | student | /var/lib/chrony | /sbin/nologin |
| 20 | mysql | a | 27 | 27 | student | /var/lib/mysql | /bin/false |
| 30 | bob | a | 2020 | 2020 | student | /home/bob | /bin/bash |
| 40 | tom | a | 2030 | 2030 | student | /home/bob | /sbin/nologin |
| 50 | tom | a | 2030 | 2030 | student | /home/bobbob | /sbin/nologin |
| 51 | alice | a | NULL | NULL | student | NULL | NULL |
| 52 | tomA | a | 123 | 123 | student | NULL | NULL |
| 53 | tomB | a | 234 | 234 | student | NULL | NULL |
| 54 | tomC | a | 345 | 345 | student | NULL | NULL |
+----+-----------------+----------+------+------+---------+--------------------+----------------+
27 rows in set (0.00 sec)mysql> update db3.user set password="x" where name="root";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from db3.user;
+----+-----------------+----------+------+------+---------+--------------------+----------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+-----------------+----------+------+------+---------+--------------------+----------------+
| 1 | root | x | 0 | 0 | student | /root | /bin/bash |
| 2 | bin | a | 1 | 1 | student | /bin | /sbin/nologin |
| 3 | daemon | a | 2 | 2 | student | /sbin | /sbin/nologin |
| 4 | adm | a | 3 | 4 | student | /var/adm | /sbin/nologin |
| 5 | lp | a | 4 | 7 | student | /var/spool/lpd | /sbin/nologin |
| 6 | sync | a | 5 | 0 | student | /sbin | /bin/sync |
| 7 | shutdown | a | 6 | 0 | student | /sbin | /sbin/shutdown |
| 8 | halt | a | 7 | 0 | student | /sbin | /sbin/halt |
| 9 | mail | a | 8 | 12 | student | /var/spool/mail | /sbin/nologin |
| 10 | operator | a | 11 | 0 | student | /root | /sbin/nologin |
| 11 | games | a | 12 | 100 | student | /usr/games | /sbin/nologin |
| 12 | ftp | a | 14 | 50 | student | /var/ftp | /sbin/nologin |
| 13 | nobody | a | 99 | 99 | student | / | /sbin/nologin |
| 14 | systemd-network | a | 192 | 192 | student | / | /sbin/nologin |
| 15 | dbus | a | 81 | 81 | student | / | /sbin/nologin |
| 16 | polkitd | a | 999 | 998 | student | / | /sbin/nologin |
| 17 | sshd | a | 74 | 74 | student | /var/empty/sshd | /sbin/nologin |
| 18 | postfix | a | 89 | 89 | student | /var/spool/postfix | /sbin/nologin |
| 19 | chrony | a | 998 | 996 | student | /var/lib/chrony | /sbin/nologin |
| 20 | mysql | a | 27 | 27 | student | /var/lib/mysql | /bin/false |
| 30 | bob | a | 2020 | 2020 | student | /home/bob | /bin/bash |
| 40 | tom | a | 2030 | 2030 | student | /home/bob | /sbin/nologin |
| 50 | tom | a | 2030 | 2030 | student | /home/bobbob | /sbin/nologin |
| 51 | alice | a | NULL | NULL | student | NULL | NULL |
| 52 | tomA | a | 123 | 123 | student | NULL | NULL |
| 53 | tomB | a | 234 | 234 | student | NULL | NULL |
| 54 | tomC | a | 345 | 345 | student | NULL | NULL |
+----+-----------------+----------+------+------+---------+--------------------+----------------+
27 rows in set (0.00 sec)
删除表记录
- 语法格式:
- 格式一:条件匹配删除
- mysql > delete from 库名.表名 where 条件表达式;
- 格式二:删除所有记录
- mysql > delete from 库名.表名;
- 注意事项:
- 不加条件删除表中所有的行
mysql> select * from db3.user where id>21;
+----+-------+----------+------+------+---------+--------------+---------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+-------+----------+------+------+---------+--------------+---------------+
| 30 | bob | a | 2020 | 2020 | student | /home/bob | /bin/bash |
| 40 | tom | a | 2030 | 2030 | student | /home/bob | /sbin/nologin |
| 50 | tom | a | 2030 | 2030 | student | /home/bobbob | /sbin/nologin |
| 51 | alice | a | NULL | NULL | student | NULL | NULL |
| 52 | tomA | a | 123 | 123 | student | NULL | NULL |
| 53 | tomB | a | 234 | 234 | student | NULL | NULL |
| 54 | tomC | a | 345 | 345 | student | NULL | NULL |
+----+-------+----------+------+------+---------+--------------+---------------+
7 rows in set (0.00 sec)mysql> delete from db3.user where id>21;
Query OK, 7 rows affected (0.00 sec)mysql> select * from db3.user where id>21;
Empty set (0.00 sec)
匹配条件
基本匹配条件(适用于 select update delete)
- 数值比较
- 字段必须是数值类型
类型 | 比较 | 例子 |
---|---|---|
= | 相等 | uid=3 |
> | 大于 | uid > 3 |
>= | 大于或等于 | uid >= 3 |
< | 小于 | uid < 3 |
<= | 小于或等于 | uid <= 3 |
!= | 不相等 | uid != 3 |
- 字符比较/匹配空/非空
- 字段必须是字符类型
类型 | 比较 | 例子 |
---|---|---|
= | 相等 | name = “root” |
!= | 不相等 | name != “root” |
is null | 空 | shell is null |
is not null | 非空 | shell is not null |
- 逻辑匹配
- 多个判断条件时使用
类型 | 用途 | 格式 |
---|---|---|
or | 逻辑或 | 条件1 or 条件2 or 条件3 , 某一个条件成立即可 |
and | 逻辑与 | 条件1 and 条件2 and 条件3 ,所有条件同时成立 |
! 或 not | 逻辑非 | 取反 |
- 范围匹配
- 匹配范围内的任意一个值即可
类型 | 比较 |
---|---|
in(值列表) | 在…里 |
not in(值列表) | 不在…里 |
between 数字 and 数字 | 在…之间 |
数值比较:mysql> select name ,uid from db3.user where uid=1;
+------+------+
| name | uid |
+------+------+
| bin | 1 |
+------+------+
1 row in set (0.00 sec)mysql> select name ,uid ,gid from db3.user where uid=gid; #找uid和gid相等的字段,列出它的name,uid,gid字段
+-----------------+------+------+
| name | uid | gid |
+-----------------+------+------+
| root | 0 | 0 |
| bin | 1 | 1 |
| daemon | 2 | 2 |
| nobody | 99 | 99 |
| systemd-network | 192 | 192 |
| dbus | 81 | 81 |
| sshd | 74 | 74 |
| postfix | 89 | 89 |
| mysql | 27 | 27 |
+-----------------+------+------+
9 rows in set (0.00 sec)mysql> select name ,uid ,gid from db3.user where uid!=gid; #不等
+----------+------+------+
| name | uid | gid |
+----------+------+------+
| adm | 3 | 4 |
| lp | 4 | 7 |
| sync | 5 | 0 |
| shutdown | 6 | 0 |
| halt | 7 | 0 |
| mail | 8 | 12 |
| operator | 11 | 0 |
| games | 12 | 100 |
| ftp | 14 | 50 |
| polkitd | 999 | 998 |
| chrony | 998 | 996 |
+----------+------+------+
11 rows in set (0.00 sec)字符比较:mysql> select name from db3.user where name="root";
+------+
| name |
+------+
| root |
+------+
1 row in set (0.00 sec)mysql> select name ,shell from db3.user where shell != "/bin/bash" ;
+-----------------+----------------+
| name | shell |
+-----------------+----------------+
| bin | /sbin/nologin |
| daemon | /sbin/nologin |
| adm | /sbin/nologin |
| lp | /sbin/nologin |
| sync | /bin/sync |
| shutdown | /sbin/shutdown |
| halt | /sbin/halt |
| mail | /sbin/nologin |
| operator | /sbin/nologin |
| games | /sbin/nologin |
| ftp | /sbin/nologin |
| nobody | /sbin/nologin |
| systemd-network | /sbin/nologin |
| dbus | /sbin/nologin |
| polkitd | /sbin/nologin |
| sshd | /sbin/nologin |
| postfix | /sbin/nologin |
| chrony | /sbin/nologin |
| mysql | /bin/false |
+-----------------+----------------+
19 rows in set (0.00 sec)空 非空
mysql> insert into db3.user(name) values("bob"),("tom"),("haha");
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from db3.user where uid is null;
+----+------+----------+------+------+---------+---------+-------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+------+----------+------+------+---------+---------+-------+
| 55 | bob | NULL | NULL | NULL | NULL | NULL | NULL |
| 56 | tom | NULL | NULL | NULL | NULL | NULL | NULL |
| 57 | haha | NULL | NULL | NULL | NULL | NULL | NULL |
+----+------+----------+------+------+---------+---------+-------+
3 rows in set (0.00 sec)逻辑匹配(多个匹配条件):mysql> select name , uid from db3.user where shell="/bin/bash" and name="root";
+------+------+
| name | uid |
+------+------+
| root | 0 |
+------+------+
1 row in set (0.00 sec)mysql> select name from db3.user where name="apache" or name="sync" or name="mysql" ;
+-------+
| name |
+-------+
| sync |
| mysql |
+-------+
2 rows in set (0.00 sec)mysql> select name ,shell from db3.user where shell != "/bin/bash" ;
+-----------------+----------------+
| name | shell |
+-----------------+----------------+
| bin | /sbin/nologin |
| daemon | /sbin/nologin |
| adm | /sbin/nologin |
| lp | /sbin/nologin |
| sync | /bin/sync |
| shutdown | /sbin/shutdown |
| halt | /sbin/halt |
| mail | /sbin/nologin |
| operator | /sbin/nologin |
| games | /sbin/nologin |
| ftp | /sbin/nologin |
| nobody | /sbin/nologin |
| systemd-network | /sbin/nologin |
| dbus | /sbin/nologin |
| polkitd | /sbin/nologin |
| sshd | /sbin/nologin |
| postfix | /sbin/nologin |
| chrony | /sbin/nologin |
| mysql | /bin/false |
+-----------------+----------------+
19 rows in set (0.00 sec)范围匹配 in 、 not in 、between...and:mysql> select name , uid from db3.user where uid in (1,9,20,7);
+------+------+
| name | uid |
+------+------+
| bin | 1 |
| halt | 7 |
+------+------+
2 rows in set (0.00 sec)mysql> select name , shell from db3.user where shell in ("/bin/bash" , "/sbin/nologin"); #查找/bin/bash , /sbin/nologin的登录shell,显示其name以及shell字段
+-----------------+---------------+
| name | shell |
+-----------------+---------------+
| root | /bin/bash |
| bin | /sbin/nologin |
| daemon | /sbin/nologin |
| adm | /sbin/nologin |
| lp | /sbin/nologin |
| mail | /sbin/nologin |
| operator | /sbin/nologin |
| games | /sbin/nologin |
| ftp | /sbin/nologin |
| nobody | /sbin/nologin |
| systemd-network | /sbin/nologin |
| dbus | /sbin/nologin |
| polkitd | /sbin/nologin |
| sshd | /sbin/nologin |
| postfix | /sbin/nologin |
| chrony | /sbin/nologin |
+-----------------+---------------+
16 rows in set (0.00 sec)mysql> select name , shell from db3.user where shell not in ("bin/bash" , "/sbin/nologin"); #查找不是/bin/bash,/sbin/nologin的name字段和shell字段
+----------+----------------+
| name | shell |
+----------+----------------+
| root | /bin/bash |
| sync | /bin/sync |
| shutdown | /sbin/shutdown |
| halt | /sbin/halt |
| mysql | /bin/false |
+----------+----------------+
5 rows in set (0.00 sec)mysql> select name , uid from db3.user where uid between 10 and 30; #查找uid在10到30之间的name和uid字段,包含10和30本身
+----------+------+
| name | uid |
+----------+------+
| operator | 11 |
| games | 12 |
| ftp | 14 |
| mysql | 27 |
+----------+------+
4 rows in set (0.00 sec)mysql> select name , uid from db3.user where uid between 1 and 10; #查找uid在1到10之间的name和uid字段,包含1和10
+----------+------+
| name | uid |
+----------+------+
| bin | 1 |
| daemon | 2 |
| adm | 3 |
| lp | 4 |
| sync | 5 |
| shutdown | 6 |
| halt | 7 |
| mail | 8 |
+----------+------+
8 rows in set (0.00 sec)
高级匹配条件(适用于 select update delete)
- 模糊查询
- 用法:
where 字段名 like ‘通配符’
_ 表示一个字符
% 表示0~n个字符
- 正则表达式
- 用法:
where 字段名 regexp ‘正则表达式’
正则元字符 ^ $ . [] * |
- 四则运算
- 字段必须是数值类型
符号 | 用途 | 例子 |
---|---|---|
+ | 加法 | uid + uid |
- | 减法 | uid - uid |
* | 乘法 | uid * uid |
/ | 除法 | uid / uid |
% | 取余数(求模) | uid % uid |
() | 提高优先级 | (uid + uid) /2 |
mysql> select name from db3.user where name like '_ _ _'; #查找name字段是三个字符的
+------+
| name |
+------+
| bin |
| adm |
| ftp |
| bob |
| tom |
+------+
5 rows in set (0.00 sec)mysql> select name from db3.user where name like '_ _ _ _'; #查找name字段是四个字符的
+------+
| name |
+------+
| root |
| sync |
| halt |
| mail |
| dbus |
| sshd |
| haha |
+------+
7 rows in set (0.00 sec)mysql> select name from db3.user where name like '%a%';
#查找name字段包含字母a的
+----------+
| name |
+----------+
| daemon |
| adm |
| halt |
| mail |
| operator |
| games |
| haha |
+----------+
7 rows in set (0.00 sec)mysql> select name from db3.user where name like '%_ _ _ _ _%'; #查找name字段有至少五个字符 的
+-----------------+
| name |
+-----------------+
| daemon |
| shutdown |
| operator |
| games |
| nobody |
| systemd-network |
| polkitd |
| postfix |
| chrony |
| mysql |
+-----------------+
10 rows in set (0.00 sec)mysql> select name from db3.user where name regexp '^[ab]';
#查找name字段以a或者b开头的
+------+
| name |
+------+
| bin |
| adm |
| bob |
+------+
3 rows in set (0.00 sec)mysql> select name from db3.user where name regexp '^a|^b';
#查找name字段以a或者b开头的
+------+
| name |
+------+
| bin |
| adm |
| bob |
+------+
3 rows in set (0.00 sec)mysql> insert into db3.user(name) values ("haha2"),("lala6"),("hei8hei");
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select name from db3.user where name regexp '[0-9]';
#查找name字段包含数字的
+---------+
| name |
+---------+
| haha2 |
| lala6 |
| hei8hei |
+---------+
3 rows in set (0.00 sec)mysql> select name from db3.user where name regexp '.*[0-9].*'; #查找数字在中间的
+---------+
| name |
+---------+
| haha2 |
| lala6 |
| hei8hei |
+---------+
3 rows in set (0.00 sec)四则运算(select 和 update):mysql> select name ,uid ,gid from user where name ="mysql";
+-------+------+------+
| name | uid | gid |
+-------+------+------+
| mysql | 27 | 27 |
+-------+------+------+
1 row in set (0.00 sec)mysql> select name ,uid ,gid ,uid+gid zonghe from user where name ="mysql"; #查找name等于mysql的字段,使其uid和gid相加,为zonghe字段
+-------+------+------+--------+
| name | uid | gid | zonghe |
+-------+------+------+--------+
| mysql | 27 | 27 | 54 |
+-------+------+------+--------+
1 row in set (0.00 sec)mysql> select name ,uid ,gid ,uid+gid zonghe ,(uid+gid)/2 pingjun from user where name ="mysql"; #查找name等于mysql的字段,使其uid和gid相加,为zonghe字段,再求他们的平均数,为pingjun字段
+-------+------+------+--------+---------+
| name | uid | gid | zonghe | pingjun |
+-------+------+------+--------+---------+
| mysql | 27 | 27 | 54 | 27.0000 |
+-------+------+------+--------+---------+
1 row in set (0.00 sec)mysql> select * from db3.user where id%2 =0; #查找user表中id是偶数
+----+-----------------+----------+------+------+---------+--------------------+---------------+
| id | name | password | uid | gid | comment | homedir | shell |
+----+-----------------+----------+------+------+---------+--------------------+---------------+
| 2 | bin | a | 1 | 1 | student | /bin | /sbin/nologin |
| 4 | adm | a | 3 | 4 | student | /var/adm | /sbin/nologin |
| 6 | sync | a | 5 | 0 | student | /sbin | /bin/sync |
| 8 | halt | a | 7 | 0 | student | /sbin | /sbin/halt |
| 10 | operator | a | 11 | 0 | student | /root | /sbin/nologin |
| 12 | ftp | a | 14 | 50 | student | /var/ftp | /sbin/nologin |
| 14 | systemd-network | a | 192 | 192 | student | / | /sbin/nologin |
| 16 | polkitd | a | 999 | 998 | student | / | /sbin/nologin |
| 18 | postfix | a | 89 | 89 | student | /var/spool/postfix | /sbin/nologin |
| 20 | mysql | a | 27 | 27 | student | /var/lib/mysql | /bin/false |
| 56 | tom | NULL | NULL | NULL | NULL | NULL | NULL |
| 58 | haha2 | NULL | NULL | NULL | NULL | NULL | NULL |
| 60 | hei8hei | NULL | NULL | NULL | NULL | NULL | NULL |
+----+-----------------+----------+------+------+---------+--------------------+---------------+
13 rows in set (0.00 sec)mysql> select name ,uid from db3.user where uid <=5 ;
#查找uid小于等于5的字段
+--------+------+
| name | uid |
+--------+------+
| root | 0 |
| bin | 1 |
| daemon | 2 |
| adm | 3 |
| lp | 4 |
| sync | 5 |
+--------+------+
6 rows in set (0.00 sec)mysql> update db3.user set uid=uid+1 where uid <=5;
#使uid小于等于5的加一
Query OK, 6 rows affected (0.01 sec)
Rows matched: 6 Changed: 6 Warnings: 0mysql> select name ,uid from db3.user where uid <=5 ;
#查看uid小于等于5的字段
+--------+------+
| name | uid |
+--------+------+
| root | 1 |
| bin | 2 |
| daemon | 3 |
| adm | 4 |
| lp | 5 |
+--------+------+
5 rows in set (0.00 sec)mysql> select name ,uid from db3.user where uid <=6 ;
+----------+------+
| name | uid |
+----------+------+
| root | 1 |
| bin | 2 |
| daemon | 3 |
| adm | 4 |
| lp | 5 |
| sync | 6 |
| shutdown | 6 |
+----------+------+
7 rows in set (0.00 sec)mysql> update db3.user set uid=uid-1 where uid <=5;
Query OK, 5 rows affected (0.01 sec)
Rows matched: 5 Changed: 5 Warnings: 0mysql> select name ,uid from db3.user where uid <=5 ;
+--------+------+
| name | uid |
+--------+------+
| root | 0 |
| bin | 1 |
| daemon | 2 |
| adm | 3 |
| lp | 4 |
+--------+------+
5 rows in set (0.00 sec)mysql> alter table db3.user add age tinyint unsigned default 20 after name; #在name字段后面加入age字段,默认为20
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> select * from db3.user ;
+----+-----------------+------+----------+------+------+---------+--------------------+----------------+
| id | name | age | password | uid | gid | comment | homedir | shell |
+----+-----------------+------+----------+------+------+---------+--------------------+----------------+
| 1 | root | 20 | x | 0 | 0 | student | /root | /bin/bash |
| 2 | bin | 20 | a | 1 | 1 | student | /bin | /sbin/nologin |
| 3 | daemon | 20 | a | 2 | 2 | student | /sbin | /sbin/nologin |
| 4 | adm | 20 | a | 3 | 4 | student | /var/adm | /sbin/nologin |
| 5 | lp | 20 | a | 4 | 7 | student | /var/spool/lpd | /sbin/nologin |
| 6 | sync | 20 | a | 6 | 0 | student | /sbin | /bin/sync |
| 7 | shutdown | 20 | a | 6 | 0 | student | /sbin | /sbin/shutdown |
| 8 | halt | 20 | a | 7 | 0 | student | /sbin | /sbin/halt |
| 9 | mail | 20 | a | 8 | 12 | student | /var/spool/mail | /sbin/nologin |
| 10 | operator | 20 | a | 11 | 0 | student | /root | /sbin/nologin |
| 11 | games | 20 | a | 12 | 100 | student | /usr/games | /sbin/nologin |
| 12 | ftp | 20 | a | 14 | 50 | student | /var/ftp | /sbin/nologin |
| 13 | nobody | 20 | a | 99 | 99 | student | / | /sbin/nologin |
| 14 | systemd-network | 20 | a | 192 | 192 | student | / | /sbin/nologin |
| 15 | dbus | 20 | a | 81 | 81 | student | / | /sbin/nologin |
| 16 | polkitd | 20 | a | 999 | 998 | student | / | /sbin/nologin |
| 17 | sshd | 20 | a | 74 | 74 | student | /var/empty/sshd | /sbin/nologin |
| 18 | postfix | 20 | a | 89 | 89 | student | /var/spool/postfix | /sbin/nologin |
| 19 | chrony | 20 | a | 998 | 996 | student | /var/lib/chrony | /sbin/nologin |
| 20 | mysql | 20 | a | 27 | 27 | student | /var/lib/mysql | /bin/false |
| 55 | bob | 20 | NULL | NULL | NULL | NULL | NULL | NULL |
| 56 | tom | 20 | NULL | NULL | NULL | NULL | NULL | NULL |
| 57 | haha | 20 | NULL | NULL | NULL | NULL | NULL | NULL |
| 58 | haha2 | 20 | NULL | NULL | NULL | NULL | NULL | NULL |
| 59 | lala6 | 20 | NULL | NULL | NULL | NULL | NULL | NULL |
| 60 | hei8hei | 20 | NULL | NULL | NULL | NULL | NULL | NULL |
+----+-----------------+------+----------+------+------+---------+--------------------+----------------+
26 rows in set (0.00 sec)mysql> select name ,age ,2020-age born from db3.user where name="root"; #查找name字段为root的出生年月
+------+------+------+
| name | age | born |
+------+------+------+
| root | 20 | 2000 |
+------+------+------+
1 row in set (0.00 sec)
操作查询结果(适用于select)
- 聚集函数
- MySQL内置数据统计函数
avg(字段名)----------//统计字段平均值
sum(字段名)----------//统计字段之和
min(字段名)----------//统计字段最小值
max(字段名)----------//统计字段最大值
count(字段名)----------//统计字段值个数
- 查询结果排序
- 用法:
SQL查询 order by 字段名 [asc |desc];
字段名通常是数值类型字段
asc 升序排列(默认)
desc 降序排列
- 查询结果分组
- 用法:
SQL查询 group by 字段名;
字段名通常是字符类型字段
- 去重显示
- 用法:distunct 字段名
- 查询结果过滤
- 用法:
SQL查询 having 条件表达式;
- 限制查询结果显示行数
- 用法:
SQL查询 limit 数字; //显示查询结果前多少条记录
SQL查询 limit 数字1,数字2; //显示指定范围内的查询记录
数字1 起始行(0表示第一行)代表从第几行开始显示
数字2 代表总行数
mysql> select avg(uid) from db3.user;
+----------+
| avg(uid) |
+----------+
| 131.6500 |
+----------+
1 row in set (0.00 sec)mysql> select min(uid) from db3.user;
+----------+
| min(uid) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)mysql> select max(uid) from db3.user;
+----------+
| max(uid) |
+----------+
| 999 |
+----------+
1 row in set (0.00 sec)mysql> select sum(uid) from db3.user;
+----------+
| sum(uid) |
+----------+
| 2633 |
+----------+
1 row in set (0.00 sec)mysql> select count(name) from db3.user where shell ="/sbin/nologin";
+-------------+
| count(name) |
+-------------+
| 15 |
+-------------+
1 row in set (0.00 sec)mysql> select count(*) from db1.user;
ERROR 1146 (42S02): Table 'db1.user' doesn't exist
mysql> select count(*) from db3.user;
+----------+
| count(*) |
+----------+
| 26 |
+----------+
1 row in set (0.00 sec)排序 order by 字段 asc | desc:mysql> select name ,uid from db3.user where uid >=10 and uid <=100 ;
+----------+------+
| name | uid |
+----------+------+
| operator | 11 |
| games | 12 |
| ftp | 14 |
| nobody | 99 |
| dbus | 81 |
| sshd | 74 |
| postfix | 89 |
| mysql | 27 |
+----------+------+
8 rows in set (0.00 sec)mysql> select name ,uid from db3.user where uid >=10 and uid <=100 order by uid;
+----------+------+
| name | uid |
+----------+------+
| operator | 11 |
| games | 12 |
| ftp | 14 |
| mysql | 27 |
| sshd | 74 |
| dbus | 81 |
| postfix | 89 |
| nobody | 99 |
+----------+------+
8 rows in set (0.00 sec)mysql> select name ,uid from db3.user where uid >=10 and uid <=100 order by uid desc;
+----------+------+
| name | uid |
+----------+------+
| nobody | 99 |
| postfix | 89 |
| dbus | 81 |
| sshd | 74 |
| mysql | 27 |
| ftp | 14 |
| games | 12 |
| operator | 11 |
+----------+------+
8 rows in set (0.00 sec)分组 group by 字段名:mysql> select shell from db3.user ;
+----------------+
| shell |
+----------------+
| /bin/bash |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /bin/sync |
| /sbin/shutdown |
| /sbin/halt |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /sbin/nologin |
| /bin/false |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
+----------------+
26 rows in set (0.00 sec)mysql> select shell from db3.user group by shell;
+----------------+
| shell |
+----------------+
| NULL |
| /bin/bash |
| /bin/false |
| /bin/sync |
| /sbin/halt |
| /sbin/nologin |
| /sbin/shutdown |
+----------------+
7 rows in set (0.01 sec)mysql> select shell from db3.user where id <= 20 group by shell ;
+----------------+
| shell |
+----------------+
| /bin/bash |
| /bin/false |
| /bin/sync |
| /sbin/halt |
| /sbin/nologin |
| /sbin/shutdown |
+----------------+
6 rows in set (0.00 sec)去重复显示 distinctmysql> select gid from db3.user;
+------+
| gid |
+------+
| 0 |
| 1 |
| 2 |
| 4 |
| 7 |
| 0 |
| 0 |
| 0 |
| 12 |
| 0 |
| 100 |
| 50 |
| 99 |
| 192 |
| 81 |
| 998 |
| 74 |
| 89 |
| 996 |
| 27 |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
+------+
26 rows in set (0.00 sec)mysql> select distinct gid from db3.user ;
+------+
| gid |
+------+
| 0 |
| 1 |
| 2 |
| 4 |
| 7 |
| 12 |
| 100 |
| 50 |
| 99 |
| 192 |
| 81 |
| 998 |
| 74 |
| 89 |
| 996 |
| 27 |
| NULL |
+------+查询结果过滤 having 条件:mysql> select name from db3.user where shell = "/sbin/nologin" having name="bin" ;
+------+
| name |
+------+
| bin |
+------+
1 row in set (0.00 sec)
mysql> select * from db3.user where id <=5;
+----+--------+------+----------+------+------+---------+----------------+---------------+
| id | name | age | password | uid | gid | comment | homedir | shell |
+----+--------+------+----------+------+------+---------+----------------+---------------+
| 1 | root | 20 | x | 0 | 0 | student | /root | /bin/bash |
| 2 | bin | 20 | a | 1 | 1 | student | /bin | /sbin/nologin |
| 3 | daemon | 20 | a | 2 | 2 | student | /sbin | /sbin/nologin |
| 4 | adm | 20 | a | 3 | 4 | student | /var/adm | /sbin/nologin |
| 5 | lp | 20 | a | 4 | 7 | student | /var/spool/lpd | /sbin/nologin |
+----+--------+------+----------+------+------+---------+----------------+---------------+
5 rows in set (0.00 sec)限制显示记录数 limit:mysql> select * from db3.user where id <=5 limit 1;
+----+------+------+----------+------+------+---------+---------+-----------+
| id | name | age | password | uid | gid | comment | homedir | shell |
+----+------+------+----------+------+------+---------+---------+-----------+
| 1 | root | 20 | x | 0 | 0 | student | /root | /bin/bash |
+----+------+------+----------+------+------+---------+---------+-----------+
1 row in set (0.00 sec)mysql> select * from db3.user where id <=5 limit 2;
+----+------+------+----------+------+------+---------+---------+---------------+
| id | name | age | password | uid | gid | comment | homedir | shell |
+----+------+------+----------+------+------+---------+---------+---------------+
| 1 | root | 20 | x | 0 | 0 | student | /root | /bin/bash |
| 2 | bin | 20 | a | 1 | 1 | student | /bin | /sbin/nologin |
+----+------+------+----------+------+------+---------+---------+---------------+
2 rows in set (0.00 sec)mysql> select shell from db3.user group by shell limit 2 ;
+-----------+
| shell |
+-----------+
| NULL |
| /bin/bash |
+-----------+
2 rows in set (0.00 sec)mysql> select name ,uid from db3.user order by uid desc limit 5;
+-----------------+------+
| name | uid |
+-----------------+------+
| polkitd | 999 |
| chrony | 998 |
| systemd-network | 192 |
| nobody | 99 |
| postfix | 89 |
+-----------------+------+
5 rows in set (0.00 sec)mysql> select name ,shell from db3.user where shell="/sbin/nologin";
+-----------------+---------------+
| name | shell |
+-----------------+---------------+
| bin | /sbin/nologin |
| daemon | /sbin/nologin |
| adm | /sbin/nologin |
| lp | /sbin/nologin |
| mail | /sbin/nologin |
| operator | /sbin/nologin |
| games | /sbin/nologin |
| ftp | /sbin/nologin |
| nobody | /sbin/nologin |
| systemd-network | /sbin/nologin |
| dbus | /sbin/nologin |
| polkitd | /sbin/nologin |
| sshd | /sbin/nologin |
| postfix | /sbin/nologin |
| chrony | /sbin/nologin |
+-----------------+---------------+
15 rows in set (0.00 sec)mysql> select name ,shell from db3.user where shell="/sbin/nologin" limit 3,4;
+----------+---------------+
| name | shell |
+----------+---------------+
| lp | /sbin/nologin |
| mail | /sbin/nologin |
| operator | /sbin/nologin |
| games | /sbin/nologin |
+----------+---------------+
4 rows in set (0.00 sec)
MySQL数据库基础(三)数据的导入导出、管理表记录、匹配条件相关推荐
- 如何将mysql导出数据泵_Oracle数据库之ORACLE 数据泵导入导出数据
本文主要向大家介绍了Oracle数据库之ORACLE 数据泵导入导出数据,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库 ...
- mysql数据泵导入导出_ORACLE使用数据泵导入导出部分表
1.导出名字为A的表(这里会导出SEQUENCES及FUNCTION等内容) expdp TEST/TEST@orcl schemas=TEST dumpfile=TEST.dmp DIRECTORY ...
- 数据导入导出 、 表记录基本操作 、 查询及匹配条件 、 多表查询 、
数据管理:(管理表记录) 数据导入:把系统文件的内容存储到数据库的表里. mysql> create table uesr( -> name varchar(50), -> mima ...
- Mysql数据库基础第八章:窗口函数和公用表表达式(CTE)
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- mysql数据库中excel数据的导入与导出
mysql数据库数据与excel数据在python大数据中是比较常见的 在导入导出之前必须先配置好路径权限 1.查看导入导出限制路径 # 查看路径 SHOW VARIABLES LIKE '%secu ...
- mysql导vertica_vertica系列:数据的导入导出
本文仅涉及 Vertica 导入导出本地文件, 以及两个 Vertica 集群相互导出, 不涉及 Vertica 和 hdfs/Hive 导入导出和互操作. copy 数据导入工具 copy 命令无疑 ...
- MySQL数据库基础(数据表的SELECT操作)
文章目录 数据表的操作 1.创建成绩表 2.select表达式 3.查询 4.修改(AS) 5.筛选(WHERE) 6.排序(ORDER) 7.分组(GROUP) 8.过滤(HAVING) 9.聚合函 ...
- kettle将excel导入数据库_ETL工具—Kettle数据的导入导出—Excel表到数据库
案例目的:当Excel中有几万条记录或者更多数据时,使用Kettle导入到数据库中.速度就能感到比复制粘贴快很多. 这里我会演示将"data.xlsx"表中数据有15万多条记录,使 ...
- ORACLE使用数据泵导入导出部分表
1.导出名字为A的表(这里会导出SEQUENCES及FUNCTION等内容) expdp TEST/TEST@orcl schemas=TEST dumpfile=TEST.dmp DIRECTORY ...
- php mysql取出来,php从mysql数据库中取数据
php从数据库中取数据 面向过程 $server_name="localhost:3306"; //数据库服务器名称 $username="root"; // ...
最新文章
- 【杂谈】关于批量采购与教材试点深度学习之图像识别,模型设计,人脸图像处理书籍相关问题...
- android添加动画文件,Android开发之图形图像与动画(五)LayoutAnimationController详解
- 《Python数据分析与挖掘实战》一1.2 从餐饮服务到数据挖掘
- 5G零售行业应用白皮书
- python各个版本改动
- linux shell 命令记录,linux常用shell命令记录
- 我的希捷ST31000340NS,BIOS不认,磁头反复归位,BUSY模式的固件门硬盘修复成功
- linux命令如何查看某个文件的大小,Linux查看文件大小5个常用命令
- 千千音乐付费音乐爬取--json数据的处理
- 微信小游戏是个人尝试做游戏最好的选择
- 读书笔记——刘鹗《老残游记》《老残游记续集》
- 计算机造句英语,电子计算机造句_造句大全
- Sdm660--OpenCamera流程详细分析(Camera1+Hal1)
- 程序中unsigned char 类型的意义
- 【opencv4.3.0教程】11之调整图像边缘(copyMakeBorder 与 borderInterpolate)
- MySQL索引数据结构及算法原理
- Mission Planner中级应用(APM或PIX飞控)4——无人机APM飞控硬件故障简单维修(中)
- 【太美了】【Crystal Castle.水晶城堡】【严泽远作品】
- Tomcat文件服务器上传文件出错
- IOS13如何屏蔽更新,快看这里!!!