zoukankan      html  css  js  c++  java
  • MySQL SQL介绍(2)

    MySQL SQL介绍(2)

    一、MySQL SQL介绍

    1.1.1 select 单表查询

    1. select 查询语句的使用
    1. select 
    1、作用 
    获取MySQL中的数据行
    单独使用select 
    select @@xxxx;获取参数信息。
    mysql> select @@port;
    +--------+
    | @@port |
    +--------+
    |   3306 |
    +--------+
    1 row in set (0.00 sec
    mysql> show variables like '%innodb%';
    +------------------------------------------+------------------------+
    | Variable_name                            | Value                  |
    +------------------------------------------+------------------------+
    | ignore_builtin_innodb                    | OFF                    |
    | innodb_adaptive_flushing                 | ON                     |
    | innodb_adaptive_flushing_lwm             | 10                     |
    | innodb_adaptive_hash_index               | ON                     |
    | innodb_adaptive_hash_index_parts         | 8                      |
    | innodb_adaptive_max_sleep_delay          | 150000                 |
    | innodb_api_bk_commit_interval            | 5                      |
    | innodb_api_disable_rowlock               | OFF                    |
    | innodb_api_enable_binlog                 | OFF                    |
    | innodb_api_enable_mdl                    | OFF                    |
    | innodb_api_trx_level                     | 0                      |
    | innodb_autoextend_increment              | 64                     |
    | innodb_autoinc_lock_mode                 | 1                      |
    | innodb_buffer_pool_chunk_size            | 134217728              |
    | innodb_buffer_pool_dump_at_shutdown      | ON                     |
    | innodb_buffer_pool_dump_now              | OFF                    |
    | innodb_buffer_pool_dump_pct              | 25                     |
    | innodb_buffer_pool_filename              | ib_buffer_pool         |
    | innodb_buffer_pool_instances             | 1                      |
    | innodb_buffer_pool_load_abort            | OFF                    |
    | innodb_buffer_pool_load_at_startup       | ON                     |
    | innodb_buffer_pool_load_now              | OFF                    |
    | innodb_buffer_pool_size                  | 134217728              |
    | innodb_change_buffer_max_size            | 25                     |
    | innodb_change_buffering                  | all                    |
    | innodb_checksum_algorithm                | crc32                  |
    | innodb_checksums                         | ON                     |
    | innodb_cmp_per_index_enabled             | OFF                    |
    | innodb_commit_concurrency                | 0                      |
    | innodb_compression_failure_threshold_pct | 5                      |
    | innodb_compression_level                 | 6                      |
    | innodb_compression_pad_pct_max           | 50                     |
    | innodb_concurrency_tickets               | 5000                   |
    | innodb_data_file_path                    | ibdata1:12M:autoextend |
    | innodb_data_home_dir                     |                        |
    | innodb_deadlock_detect                   | ON                     |
    | innodb_default_row_format                | dynamic                |
    | innodb_disable_sort_file_cache           | OFF                    |
    | innodb_doublewrite                       | ON                     |
    | innodb_fast_shutdown                     | 1                      |
    | innodb_file_format                       | Barracuda              |
    | innodb_file_format_check                 | ON                     |
    | innodb_file_format_max                   | Barracuda              |
    | innodb_file_per_table                    | ON                     |
    | innodb_fill_factor                       | 100                    |
    | innodb_flush_log_at_timeout              | 1                      |
    | innodb_flush_log_at_trx_commit           | 1                      |
    | innodb_flush_method                      |                        |
    | innodb_flush_neighbors                   | 1                      |
    | innodb_flush_sync                        | ON                     |
    | innodb_flushing_avg_loops                | 30                     |
    | innodb_force_load_corrupted              | OFF                    |
    | innodb_force_recovery                    | 0                      |
    | innodb_ft_aux_table                      |                        |
    | innodb_ft_cache_size                     | 8000000                |
    | innodb_ft_enable_diag_print              | OFF                    |
    | innodb_ft_enable_stopword                | ON                     |
    | innodb_ft_max_token_size                 | 84                     |
    | innodb_ft_min_token_size                 | 3                      |
    | innodb_ft_num_word_optimize              | 2000                   |
    | innodb_ft_result_cache_limit             | 2000000000             |
    | innodb_ft_server_stopword_table          |                        |
    | innodb_ft_sort_pll_degree                | 2                      |
    | innodb_ft_total_cache_size               | 640000000              |
    | innodb_ft_user_stopword_table            |                        |
    | innodb_io_capacity                       | 200                    |
    | innodb_io_capacity_max                   | 2000                   |
    | innodb_large_prefix                      | ON                     |
    | innodb_lock_wait_timeout                 | 50                     |
    | innodb_locks_unsafe_for_binlog           | OFF                    |
    | innodb_log_buffer_size                   | 16777216               |
    | innodb_log_checksums                     | ON                     |
    | innodb_log_compressed_pages              | ON                     |
    | innodb_log_file_size                     | 50331648               |
    | innodb_log_files_in_group                | 2                      |
    | innodb_log_group_home_dir                | ./                     |
    | innodb_log_write_ahead_size              | 8192                   |
    | innodb_lru_scan_depth                    | 1024                   |
    | innodb_max_dirty_pages_pct               | 75.000000              |
    | innodb_max_dirty_pages_pct_lwm           | 0.000000               |
    | innodb_max_purge_lag                     | 0                      |
    | innodb_max_purge_lag_delay               | 0                      |
    | innodb_max_undo_log_size                 | 1073741824             |
    | innodb_monitor_disable                   |                        |
    | innodb_monitor_enable                    |                        |
    | innodb_monitor_reset                     |                        |
    | innodb_monitor_reset_all                 |                        |
    | innodb_numa_interleave                   | OFF                    |
    | innodb_old_blocks_pct                    | 37                     |
    | innodb_old_blocks_time                   | 1000                   |
    | innodb_online_alter_log_max_size         | 134217728              |
    | innodb_open_files                        | 2000                   |
    | innodb_optimize_fulltext_only            | OFF                    |
    | innodb_page_cleaners                     | 1                      |
    | innodb_page_size                         | 16384                  |
    | innodb_print_all_deadlocks               | OFF                    |
    | innodb_purge_batch_size                  | 300                    |
    | innodb_purge_rseg_truncate_frequency     | 128                    |
    | innodb_purge_threads                     | 4                      |
    | innodb_random_read_ahead                 | OFF                    |
    | innodb_read_ahead_threshold              | 56                     |
    | innodb_read_io_threads                   | 4                      |
    | innodb_read_only                         | OFF                    |
    | innodb_replication_delay                 | 0                      |
    | innodb_rollback_on_timeout               | OFF                    |
    | innodb_rollback_segments                 | 128                    |
    | innodb_sort_buffer_size                  | 1048576                |
    | innodb_spin_wait_delay                   | 6                      |
    | innodb_stats_auto_recalc                 | ON                     |
    | innodb_stats_include_delete_marked       | OFF                    |
    | innodb_stats_method                      | nulls_equal            |
    | innodb_stats_on_metadata                 | OFF                    |
    | innodb_stats_persistent                  | ON                     |
    | innodb_stats_persistent_sample_pages     | 20                     |
    | innodb_stats_sample_pages                | 8                      |
    | innodb_stats_transient_sample_pages      | 8                      |
    | innodb_status_output                     | OFF                    |
    | innodb_status_output_locks               | OFF                    |
    | innodb_strict_mode                       | ON                     |
    | innodb_support_xa                        | ON                     |
    | innodb_sync_array_size                   | 1                      |
    | innodb_sync_spin_loops                   | 30                     |
    | innodb_table_locks                       | ON                     |
    | innodb_temp_data_file_path               | ibtmp1:12M:autoextend  |
    | innodb_thread_concurrency                | 0                      |
    | innodb_thread_sleep_delay                | 10000                  |
    | innodb_tmpdir                            |                        |
    | innodb_undo_directory                    | ./                     |
    | innodb_undo_log_truncate                 | OFF                    |
    | innodb_undo_logs                         | 128                    |
    | innodb_undo_tablespaces                  | 0                      |
    | innodb_use_native_aio                    | ON                     |
    | innodb_version                           | 5.7.26                 |
    | innodb_write_io_threads                  | 4                      |
    +------------------------------------------+------------------------+
    134 rows in set (0.00 sec)
    
    
    2、select 函数();
    mysql> 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
    mysql> select database();
    +------------+
    | database() |
    +------------+
    | mysql      |
    +------------+
    1 row in set (0.00 sec)
    
    
    mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2020-06-06 13:20:07 |
    +---------------------+
    1 row in set (0.00 sec)
    
    mysql> select version();
    +------------+
    | version()  |
    +------------+
    | 5.7.26-log |
    +------------+
    1 row in set (0.03 sec)
    
    
    
    3、SQL92标准的使用语法 
    select语法执行顺序(单表)
    select开始 ----> 
    from子句 --->
    where子句---> 
    group by子句--->
    select后执行条件--->
    having子句 ----> 
    order by ---->
    limit
    
    1. select 应用查询列子
    mysql> use world
    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
    
    mysql> show tables;
    +-----------------+
    | Tables_in_world |
    +-----------------+
    | city            |
    | country         |
    | countrylanguage |
    +-----------------+
    3 rows in set (0.00 sec)
    
    
    1. 查询city表中的所有数据(from)
    mysql> select * from city;  #生产中较少使用,适合数据行少的表(基本没有)
    +------+------------------------------------+-------------+------------------------+------------+
    | ID   | Name                               | CountryCode | District               | Population |
    +------+------------------------------------+-------------+------------------------+------------+
    |    1 | Kabul                              | AFG         | Kabol                  |    1780000 |
    |    2 | Qandahar                           | AFG         | Qandahar               |     237500 |
    |    3 | Herat                              | AFG         | Herat                  |     186800 |
    |    4 | Mazar-e-Sharif                     | AFG         | Balkh                  |     127800 |
    |    5 | Amsterdam                          | NLD         | Noord-Holland          |     731200 |
    
    #查询name和population的所有值   
    mysql> desc city;
    +-------------+----------+------+-----+---------+----------------+
    | Field       | Type     | Null | Key | Default | Extra          |
    +-------------+----------+------+-----+---------+----------------+
    | ID          | int(11)  | NO   | PRI | NULL    | auto_increment |
    | Name        | char(35) | NO   |     |         |                |
    | CountryCode | char(3)  | NO   | MUL |         |                |
    | District    | char(20) | NO   |     |         |                |
    | Population  | int(11)  | NO   |     | 0       |                |
    +-------------+----------+------+-----+---------+----------------+
    5 rows in set (0.00 sec)
    
    mysql> select name ,Population from city;  #数据也很多,也不推荐
    +------------------------------------+------------+
    | name                               | Population |
    +------------------------------------+------------+
    | Kabul                              |    1780000 |
    | Qandahar                           |     237500 |
    | Herat                              |     186800 |
    | Mazar-e-Sharif                     |     127800 |
    | Amsterdam                          |     731200 |
    
    1. where 条件
    #查询中国的城市信息
    mysql> select name ,CountryCode from world.city where CountryCode='CHN' limit 10;  #数据太多 ,我只取前10 下同
    +--------------------+-------------+
    | name               | CountryCode |
    +--------------------+-------------+
    | Shanghai           | CHN         |
    | Peking             | CHN         |
    | Chongqing          | CHN         |
    | Tianjin            | CHN         |
    | Wuhan              | CHN         |
    | Harbin             | CHN         |
    | Shenyang           | CHN         |
    | Kanton [Guangzhou] | CHN         |
    | Chengdu            | CHN         |
    | Nanking [Nanjing]  | CHN         |
    +--------------------+-------------+
    10 rows in set (0.00 sec)
    
    #查询美国的城市信息
    mysql> select name ,CountryCode from world.city where CountryCode='USA' limit 10;
    +--------------+-------------+
    | name         | CountryCode |
    +--------------+-------------+
    | New York     | USA         |
    | Los Angeles  | USA         |
    | Chicago      | USA         |
    | Houston      | USA         |
    | Philadelphia | USA         |
    | Phoenix      | USA         |
    | San Diego    | USA         |
    | Dallas       | USA         |
    | San Antonio  | USA         |
    | Detroit      | USA         |
    +--------------+-------------+
    10 rows in set (0.00 sec)
    
    #查询一下世界上人口小于100人的城市
    mysql> select name ,countrycode, population from world.city where population < 100;
    +-----------+-------------+------------+
    | name      | countrycode | population |
    +-----------+-------------+------------+
    | Adamstown | PCN         |         42 |
    +-----------+-------------+------------+
    1 row in set (0.00 sec)
    
    #查询世界上人口大于10000000的城市
    mysql> select name ,countrycode, population from world.city where population > 1000000 limit 10;
    +--------------+-------------+------------+
    | name         | countrycode | population |
    +--------------+-------------+------------+
    | Kabul        | AFG         |    1780000 |
    | Alger        | DZA         |    2168000 |
    | Luanda       | AGO         |    2022000 |
    | Buenos Aires | ARG         |    2982146 |
    | La Matanza   | ARG         |    1266461 |
    | Córdoba      | ARG         |    1157507 |
    | Yerevan      | ARM         |    1248700 |
    | Sydney       | AUS         |    3276207 |
    | Melbourne    | AUS         |    2865329 |
    | Brisbane     | AUS         |    1291117 |
    +--------------+-------------+------------+
    10 rows in set (0.00 sec)
    
    1. 条件模糊查询 (where like)
    #查询国家代号是C开头的城市
    mysql> select name ,countrycode from world.city where countrycode like "C%" limit 10;
    +-------------+-------------+
    | name        | countrycode |
    +-------------+-------------+
    | Bangui      | CAF         |
    | Montréal    | CAN         |
    | Calgary     | CAN         |
    | Toronto     | CAN         |
    | North York  | CAN         |
    | Winnipeg    | CAN         |
    | Edmonton    | CAN         |
    | Mississauga | CAN         |
    | Scarborough | CAN         |
    | Vancouver   | CAN         |
    +-------------+-------------+
    10 rows in set (0.00 sec)
    #注意:like 语句在MySQL中,不要出现%在前面的情况。因为效率很低,不走索引。
    #这种前后都带% 都放在ElasticSearch、MongoDB等数据库里。
    
    1. 链接逻辑符号(and or)
    #查询城市人口在10w到20w之间的城市
    mysql> select name ,countrycode, population from world.city  where population>=100000 and population<=200000 limit 10;
    +----------------+-------------+------------+
    | name           | countrycode | population |
    +----------------+-------------+------------+
    | Herat          | AFG         |     186800 |
    | Mazar-e-Sharif | AFG         |     127800 |
    | Tilburg        | NLD         |     193238 |
    | Groningen      | NLD         |     172701 |
    | Breda          | NLD         |     160398 |
    | Apeldoorn      | NLD         |     153491 |
    | Nijmegen       | NLD         |     152463 |
    | Enschede       | NLD         |     149544 |
    | Haarlem        | NLD         |     148772 |
    | Almere         | NLD         |     142465 |
    +----------------+-------------+------------+
    10 rows in set (0.00 sec)
    
    mysql> select name ,countrycode, population from world.city  where population between 100000 and 200000 limit 10;
    +----------------+-------------+------------+
    | name           | countrycode | population |
    +----------------+-------------+------------+
    | Herat          | AFG         |     186800 |
    | Mazar-e-Sharif | AFG         |     127800 |
    | Tilburg        | NLD         |     193238 |
    | Groningen      | NLD         |     172701 |
    | Breda          | NLD         |     160398 |
    | Apeldoorn      | NLD         |     153491 |
    | Nijmegen       | NLD         |     152463 |
    | Enschede       | NLD         |     149544 |
    | Haarlem        | NLD         |     148772 |
    | Almere         | NLD         |     142465 |
    +----------------+-------------+------------+
    10 rows in set (0.00 sec)
    
    #查询一下中国或美国的城市信息
    #第一种方法(性能最差)
    mysql> select name, countrycode from world.city where countrycode='USA' or countrycode='CHN' limit 10;
    +--------------------+-------------+
    | name               | countrycode |
    +--------------------+-------------+
    | Shanghai           | CHN         |
    | Peking             | CHN         |
    | Chongqing          | CHN         |
    | Tianjin            | CHN         |
    | Wuhan              | CHN         |
    | Harbin             | CHN         |
    | Shenyang           | CHN         |
    | Kanton [Guangzhou] | CHN         |
    | Chengdu            | CHN         |
    | Nanking [Nanjing]  | CHN         |
    +--------------------+-------------+
    10 rows in set (0.00 sec)
    
    #第二种方法
    mysql> select name, countrycode from world.city where countrycode in ('USA' ,'CHN') limit 10;
    +--------------------+-------------+
    | name               | countrycode |
    +--------------------+-------------+
    | Shanghai           | CHN         |
    | Peking             | CHN         |
    | Chongqing          | CHN         |
    | Tianjin            | CHN         |
    | Wuhan              | CHN         |
    | Harbin             | CHN         |
    | Shenyang           | CHN         |
    | Kanton [Guangzhou] | CHN         |
    | Chengdu            | CHN         |
    | Nanking [Nanjing]  | CHN         |
    +--------------------+-------------+
    10 rows in set (0.00 sec)
    
    #第三种方法(性能最优)
    mysql> select name, countrycode from world.city where countrycode='USA'  
        ->  union all
        ->  select name, countrycode from world.city where countrycode='CHN' limit 10;
    +--------------+-------------+
    | name         | countrycode |
    +--------------+-------------+
    | New York     | USA         |
    | Los Angeles  | USA         |
    | Chicago      | USA         |
    | Houston      | USA         |
    | Philadelphia | USA         |
    | Phoenix      | USA         |
    | San Diego    | USA         |
    | Dallas       | USA         |
    | San Antonio  | USA         |
    | Detroit      | USA         |
    +--------------+-------------+
    10 rows in set (0.00 sec)
    

    8.group by 聚合函数应用(统计)

    常用聚合函数:
    AVG()
    COUNT()
    SUM()
    MAX()
    MIN()
    GROUP_CONCAT()
    #统计每个国家的总人口 
    mysql> select countrycode,sum(population) from world.city group by countrycode limit 10;
    +-------------+-----------------+
    | countrycode | sum(population) |
    +-------------+-----------------+
    | ABW         |           29034 |
    | AFG         |         2332100 |
    | AGO         |         2561600 |
    | AIA         |            1556 |
    | ALB         |          270000 |
    | AND         |           21189 |
    | ANT         |            2345 |
    | ARE         |         1728336 |
    | ARG         |        19996563 |
    | ARM         |         1633100 |
    +-------------+-----------------+
    10 rows in set (0.00 sec)
    
    #统计每个国家的城市个数
    1、拿什么站队
    GROUP BY  countrycode 
    2、拿什么统计
    城市id,name
    3、统计的是什么?
    COUNT(id) COUNT(NAME)
    
    mysql> select countrycode,count(id) from world.city group by countrycode limit 10;
    +-------------+-----------+
    | countrycode | count(id) |
    +-------------+-----------+
    | ABW         |         1 |
    | AFG         |         4 |
    | AGO         |         5 |
    | AIA         |         2 |
    | ALB         |         1 |
    | AND         |         1 |
    | ANT         |         1 |
    | ARE         |         5 |
    | ARG         |        57 |
    | ARM         |         3 |
    +-------------+-----------+
    10 rows in set (0.00 sec)
    
    mysql> select countrycode,count(name) from world.city group by countrycode limit 10;
    +-------------+-------------+
    | countrycode | count(name) |
    +-------------+-------------+
    | ABW         |           1 |
    | AFG         |           4 |
    | AGO         |           5 |
    | AIA         |           2 |
    | ALB         |           1 |
    | AND         |           1 |
    | ANT         |           1 |
    | ARE         |           5 |
    | ARG         |          57 |
    | ARM         |           3 |
    +-------------+-------------+
    10 rows in set (0.00 sec)
    
    mysql> select countrycode, group_concat(district) from world.city group by countrycode limit 10G;
    *************************** 1. row ***************************
               countrycode: ABW
    group_concat(district): –
    *************************** 2. row ***************************
               countrycode: AFG
    group_concat(district): Kabol,Qandahar,Herat,Balkh
    *************************** 3. row ***************************
               countrycode: AGO
    group_concat(district): Luanda,Huambo,Benguela,Benguela,Namibe
    *************************** 4. row ***************************
               countrycode: AIA
    group_concat(district): –,–
    *************************** 5. row ***************************
               countrycode: ALB
    group_concat(district): Tirana
    *************************** 6. row ***************************
               countrycode: AND
    group_concat(district): Andorra la Vella
    *************************** 7. row ***************************
               countrycode: ANT
    group_concat(district): Curaçao
    *************************** 8. row ***************************
               countrycode: ARE
    group_concat(district): Dubai,Abu Dhabi,Sharja,Abu Dhabi,Ajman
    *************************** 9. row ***************************
               countrycode: ARG
    group_concat(district): Distrito Federal,Buenos Aires,Córdoba,Santa Fé,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Tucumán,Buenos Aires,Buenos Aires,Buenos Aires,Salta,Buenos Aires,Santa Fé,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Buenos Aires,Corrientes,Buenos Aires,Buenos Aires,Buenos Aires,Chaco,Buenos Aires,Entre Rios,Mendoza,Misiones,Mendoza,Santiago del Estero,Jujuy,Buenos Aires,Neuquén,Buenos Aires,Buenos Aires,Formosa,Mendoza,La Rioja,Catamarca,Córdoba,Chubut,Mendoza,Buenos Aires,San Juan,Buenos Aires,Entre Rios,Buenos Aires,San Luis,Buenos Aires,Mendoza,Buenos Aires
    *************************** 10. row ***************************
               countrycode: ARM
    group_concat(district): Yerevan,Širak,Lori
    10 rows in set (0.00 sec)
    
    #统计中国每个省的城市名列表
    mysql> select district,group_concat(name) from world.city where countrycode='CHN' group by district;
    +----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | district       | group_concat(name)                                                                                                                                                                                                                                    |
    +----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Anhui          | Hefei,Huainan,Bengbu,Wuhu,Huaibei,Ma´anshan,Anqing,Tongling,Fuyang,Suzhou,Liu´an,Chuzhou,Chaohu,Xuangzhou,Bozhou,Huangshan                                                                                                                            |
    | Chongqing      | Chongqing                                                                                                                                                                                                                                             |
    | Fujian         | Fuzhou,Amoy [Xiamen],Nanping,Quanzhou,Zhangzhou,Sanming,Longyan,Yong´an,Fu´an,Fuqing,Putian,Shaowu                                                                                                                                                    |
    | Gansu          | Lanzhou,Tianshui,Baiyin,Wuwei,Yumen,Jinchang,Pingliang                                                                                                                                                                                                |
    | Guangdong      | Kanton [Guangzhou],Shenzhen,Shantou,Zhangjiang,Shaoguan,Chaozhou,Dongwan,Foshan,Zhongshan,Jiangmen,Yangjiang,Zhaoqing,Maoming,Zhuhai,Qingyuan,Huizhou,Meixian,Heyuan,Shanwei,Jieyang                                                                  |
    | Guangxi        | Nanning,Liuzhou,Guilin,Wuzhou,Yulin,Qinzhou,Guigang,Beihai,Bose                                                                                                                                                                                       |
    | Guizhou        | Guiyang,Liupanshui,Zunyi,Anshun,Duyun,Kaili                                                                                                                                                                                                           |
    | Hainan         | Haikou,Sanya                                                                                                                                                                                                                                          |
    | Hebei          | Shijiazhuang,Tangshan,Handan,Zhangjiakou,Baoding,Qinhuangdao,Xingtai,Chengde,Cangzhou,Langfang,Renqiu,Hengshui                                                                                                                                        |
    | Heilongjiang   | Harbin,Qiqihar,Yichun,Jixi,Daqing,Mudanjiang,Hegang,Jiamusi,Shuangyashan,Tieli,Suihua,Shangzi,Qitaihe,Bei´an,Acheng,Zhaodong,Shuangcheng,Anda,Hailun,Mishan,Fujin                                                                                     |
    | Henan          | Zhengzhou,Luoyang,Kaifeng,Xinxiang,Anyang,Pingdingshan,Jiaozuo,Nanyang,Hebi,Xuchang,Xinyang,Puyang,Shangqiu,Zhoukou,Luohe,Zhumadian,Sanmenxia,Yuzhou                                                                                                  |
    | Hubei          | Wuhan,Huangshi,Xiangfan,Yichang,Shashi,Shiyan,Xiantao,Qianjiang,Honghu,Ezhou,Tianmen,Xiaogan,Zaoyang,Jinmen,Suizhou,Xianning,Laohekou,Puqi,Shishou,Danjiangkou,Guangshui,Enshi                                                                        |
    | Hunan          | Changsha,Hengyang,Xiangtan,Zhuzhou,Yueyang,Changde,Shaoyang,Yiyang,Chenzhou,Lengshuijiang,Leiyang,Loudi,Huaihua,Lianyuan,Hongjiang,Zixing,Liling,Yuanjiang                                                                                            |
    | Inner Mongolia | Baotou,Hohhot,Yakeshi,Chifeng,Wuhai,Tongliao,Hailar,Jining,Ulanhot,Linhe,Zalantun,Manzhouli,Xilin Hot                                                                                                                                                 |
    | Jiangsu        | Nanking [Nanjing],Wuxi,Xuzhou,Suzhou,Changzhou,Zhenjiang,Lianyungang,Nantong,Yangzhou,Yancheng,Huaiyin,Jiangyin,Yixing,Dongtai,Changshu,Danyang,Xinghua,Taizhou,Huai´an,Qidong,Liyang,Yizheng,Suqian,Kunshan,Zhangjiagang                             |
    | Jiangxi        | Nanchang,Pingxiang,Jiujiang,Jingdezhen,Ganzhou,Fengcheng,Xinyu,Yichun,Ji´an,Shangrao,Linchuan                                                                                                                                                         |
    | Jilin          | Changchun,Jilin,Hunjiang,Liaoyuan,Tonghua,Siping,Dunhua,Yanji,Gongziling,Baicheng,Meihekou,Fuyu,Jiutai,Jiaohe,Huadian,Taonan,Longjing,Da´an,Yushu,Tumen                                                                                               |
    | Liaoning       | Shenyang,Dalian,Anshan,Fushun,Benxi,Fuxin,Jinzhou,Dandong,Liaoyang,Yingkou,Panjin,Jinxi,Tieling,Wafangdian,Chaoyang,Haicheng,Beipiao,Tiefa,Kaiyuan,Xingcheng,Jinzhou                                                                                  |
    | Ningxia        | Yinchuan,Shizuishan                                                                                                                                                                                                                                   |
    | Peking         | Peking,Tong Xian                                                                                                                                                                                                                                      |
    | Qinghai        | Xining                                                                                                                                                                                                                                                |
    | Shaanxi        | Xi´an,Xianyang,Baoji,Tongchuan,Hanzhong,Ankang,Weinan,Yan´an                                                                                                                                                                                          |
    | Shandong       | Qingdao,Jinan,Zibo,Yantai,Weifang,Zaozhuang,Tai´an,Linyi,Tengzhou,Dongying,Xintai,Jining,Laiwu,Liaocheng,Laizhou,Dezhou,Heze,Rizhao,Liangcheng,Jiaozhou,Pingdu,Longkou,Laiyang,Wendeng,Binzhou,Weihai,Qingzhou,Linqing,Jiaonan,Zhucheng,Junan,Pingyi  |
    | Shanghai       | Shanghai                                                                                                                                                                                                                                              |
    | Shanxi         | Taiyuan,Datong,Yangquan,Changzhi,Yuci,Linfen,Jincheng,Yuncheng,Xinzhou                                                                                                                                                                                |
    | Sichuan        | Chengdu,Panzhihua,Zigong,Leshan,Mianyang,Luzhou,Neijiang,Yibin,Daxian,Deyang,Guangyuan,Nanchong,Jiangyou,Fuling,Wanxian,Suining,Xichang,Dujiangyan,Ya´an,Emeishan,Huaying                                                                             |
    | Tianjin        | Tianjin                                                                                                                                                                                                                                               |
    | Tibet          | Lhasa                                                                                                                                                                                                                                                 |
    | Xinxiang       | Urumtši [Ürümqi],Shihezi,Qaramay,Ghulja,Qashqar,Aqsu,Hami,Korla,Changji,Kuytun                                                                                                                                                                        |
    | Yunnan         | Kunming,Gejiu,Qujing,Dali,Kaiyuan                                                                                                                                                                                                                     |
    | Zhejiang       | Hangzhou,Ningbo,Wenzhou,Huzhou,Jiaxing,Shaoxing,Xiaoshan,Rui´an,Zhoushan,Jinhua,Yuyao,Quzhou,Cixi,Haining,Linhai,Huangyan                                                                                                                             |
    +----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    31 rows in set (0.00 sec)
    
    #统计一下中国,每个省的总人口数
    mysql> select countrycode,district,sum(population) from world.city where countrycode='CHN' group by district;
    +-------------+----------------+-----------------+
    | countrycode | district       | sum(population) |
    +-------------+----------------+-----------------+
    | CHN         | Anhui          |         5141136 |
    | CHN         | Chongqing      |         6351600 |
    | CHN         | Fujian         |         3575650 |
    | CHN         | Gansu          |         2462631 |
    | CHN         | Guangdong      |         9510263 |
    | CHN         | Guangxi        |         2925142 |
    | CHN         | Guizhou        |         2512087 |
    | CHN         | Hainan         |          557120 |
    | CHN         | Hebei          |         6458553 |
    | CHN         | Heilongjiang   |        11628057 |
    | CHN         | Henan          |         6899010 |
    | CHN         | Hubei          |         8547585 |
    | CHN         | Hunan          |         5439275 |
    | CHN         | Inner Mongolia |         4121479 |
    | CHN         | Jiangsu        |         9719860 |
    | CHN         | Jiangxi        |         3831558 |
    | CHN         | Jilin          |         7826824 |
    | CHN         | Liaoning       |        15079174 |
    | CHN         | Ningxia        |          802362 |
    | CHN         | Peking         |         7569168 |
    | CHN         | Qinghai        |          700200 |
    | CHN         | Shaanxi        |         4297493 |
    | CHN         | Shandong       |        12114416 |
    | CHN         | Shanghai       |         9696300 |
    | CHN         | Shanxi         |         4169899 |
    | CHN         | Sichuan        |         7456867 |
    | CHN         | Tianjin        |         5286800 |
    | CHN         | Tibet          |          120000 |
    | CHN         | Xinxiang       |         2894705 |
    | CHN         | Yunnan         |         2451016 |
    | CHN         | Zhejiang       |         5807384 |
    +-------------+----------------+-----------------+
    31 rows in set (0.00 sec)
    
    #统计一下中国,每个省的平均人口
    mysql> select countrycode,district,avg(population) from world.city where countrycode='CHN' group by district;
    +-------------+----------------+-----------------+
    | countrycode | district       | avg(population) |
    +-------------+----------------+-----------------+
    | CHN         | Anhui          |     321321.0000 |
    | CHN         | Chongqing      |    6351600.0000 |
    | CHN         | Fujian         |     297970.8333 |
    | CHN         | Gansu          |     351804.4286 |
    | CHN         | Guangdong      |     475513.1500 |
    | CHN         | Guangxi        |     325015.7778 |
    | CHN         | Guizhou        |     418681.1667 |
    | CHN         | Hainan         |     278560.0000 |
    | CHN         | Hebei          |     538212.7500 |
    | CHN         | Heilongjiang   |     553717.0000 |
    | CHN         | Henan          |     383278.3333 |
    | CHN         | Hubei          |     388526.5909 |
    | CHN         | Hunan          |     302181.9444 |
    | CHN         | Inner Mongolia |     317036.8462 |
    | CHN         | Jiangsu        |     388794.4000 |
    | CHN         | Jiangxi        |     348323.4545 |
    | CHN         | Jilin          |     391341.2000 |
    | CHN         | Liaoning       |     718055.9048 |
    | CHN         | Ningxia        |     401181.0000 |
    | CHN         | Peking         |    3784584.0000 |
    | CHN         | Qinghai        |     700200.0000 |
    | CHN         | Shaanxi        |     537186.6250 |
    | CHN         | Shandong       |     378575.5000 |
    | CHN         | Shanghai       |    9696300.0000 |
    | CHN         | Shanxi         |     463322.1111 |
    | CHN         | Sichuan        |     355088.9048 |
    | CHN         | Tianjin        |    5286800.0000 |
    | CHN         | Tibet          |     120000.0000 |
    | CHN         | Xinxiang       |     289470.5000 |
    | CHN         | Yunnan         |     490203.2000 |
    | CHN         | Zhejiang       |     362961.5000 |
    +-------------+----------------+-----------------+
    31 rows in set (0.00 sec)
    
    1. having (过滤)
    #统计中国,每个省的总人口大于1000w的省及人口数
    mysql> select countrycode,district,sum(population)
        ->  from world.city
        ->  where countrycode='CHN'
        ->  group by district
        ->  having sum(population) >10000000;   #不走索引的
    +-------------+--------------+-----------------+
    | countrycode | district     | sum(population) |
    +-------------+--------------+-----------------+
    | CHN         | Heilongjiang |        11628057 |
    | CHN         | Liaoning     |        15079174 |
    | CHN         | Shandong     |        12114416 |
    +-------------+--------------+-----------------+
    3 rows in set (0.00 sec)
    #说明: having后的条件是不走索引的,可以进行一些优化手段处理。
    

    10 . order by (正序) +desc(倒序)

    #正序
    mysql> select countrycode,district,sum(population) 
        -> from world.city 
        -> where countrycode='CHN' 
        -> group by district
        -> order by sum(population);
    +-------------+----------------+-----------------+
    | countrycode | district       | sum(population) |
    +-------------+----------------+-----------------+
    | CHN         | Tibet          |          120000 |
    | CHN         | Hainan         |          557120 |
    | CHN         | Qinghai        |          700200 |
    | CHN         | Ningxia        |          802362 |
    | CHN         | Yunnan         |         2451016 |
    | CHN         | Gansu          |         2462631 |
    | CHN         | Guizhou        |         2512087 |
    | CHN         | Xinxiang       |         2894705 |
    | CHN         | Guangxi        |         2925142 |
    | CHN         | Fujian         |         3575650 |
    | CHN         | Jiangxi        |         3831558 |
    | CHN         | Inner Mongolia |         4121479 |
    | CHN         | Shanxi         |         4169899 |
    | CHN         | Shaanxi        |         4297493 |
    | CHN         | Anhui          |         5141136 |
    | CHN         | Tianjin        |         5286800 |
    | CHN         | Hunan          |         5439275 |
    | CHN         | Zhejiang       |         5807384 |
    | CHN         | Chongqing      |         6351600 |
    | CHN         | Hebei          |         6458553 |
    | CHN         | Henan          |         6899010 |
    | CHN         | Sichuan        |         7456867 |
    | CHN         | Peking         |         7569168 |
    | CHN         | Jilin          |         7826824 |
    | CHN         | Hubei          |         8547585 |
    | CHN         | Guangdong      |         9510263 |
    | CHN         | Shanghai       |         9696300 |
    | CHN         | Jiangsu        |         9719860 |
    | CHN         | Heilongjiang   |        11628057 |
    | CHN         | Shandong       |        12114416 |
    | CHN         | Liaoning       |        15079174 |
    +-------------+----------------+-----------------+
    31 rows in set (0.00 sec)
    
    #倒序
    mysql> select countrycode,district,sum(population) 
        -> from world.city 
        -> where countrycode='CHN' 
        -> group by district
        -> order by sum(population) desc;
    +-------------+----------------+-----------------+
    | countrycode | district       | sum(population) |
    +-------------+----------------+-----------------+
    | CHN         | Liaoning       |        15079174 |
    | CHN         | Shandong       |        12114416 |
    | CHN         | Heilongjiang   |        11628057 |
    | CHN         | Jiangsu        |         9719860 |
    | CHN         | Shanghai       |         9696300 |
    | CHN         | Guangdong      |         9510263 |
    | CHN         | Hubei          |         8547585 |
    | CHN         | Jilin          |         7826824 |
    | CHN         | Peking         |         7569168 |
    | CHN         | Sichuan        |         7456867 |
    | CHN         | Henan          |         6899010 |
    | CHN         | Hebei          |         6458553 |
    | CHN         | Chongqing      |         6351600 |
    | CHN         | Zhejiang       |         5807384 |
    | CHN         | Hunan          |         5439275 |
    | CHN         | Tianjin        |         5286800 |
    | CHN         | Anhui          |         5141136 |
    | CHN         | Shaanxi        |         4297493 |
    | CHN         | Shanxi         |         4169899 |
    | CHN         | Inner Mongolia |         4121479 |
    | CHN         | Jiangxi        |         3831558 |
    | CHN         | Fujian         |         3575650 |
    | CHN         | Guangxi        |         2925142 |
    | CHN         | Xinxiang       |         2894705 |
    | CHN         | Guizhou        |         2512087 |
    | CHN         | Gansu          |         2462631 |
    | CHN         | Yunnan         |         2451016 |
    | CHN         | Ningxia        |          802362 |
    | CHN         | Qinghai        |          700200 |
    | CHN         | Hainan         |          557120 |
    | CHN         | Tibet          |          120000 |
    +-------------+----------------+-----------------+
    31 rows in set (0.00 sec)
    
    #查询中国所有的城市,并以人口数降序输出
    mysql> select countrycode,name,population
        -> from world.city
        -> where countrycode='CHN'
        -> order by population desc limit 10;
    +-------------+--------------------+------------+
    | countrycode | name               | population |
    +-------------+--------------------+------------+
    | CHN         | Shanghai           |    9696300 |
    | CHN         | Peking             |    7472000 |
    | CHN         | Chongqing          |    6351600 |
    | CHN         | Tianjin            |    5286800 |
    | CHN         | Wuhan              |    4344600 |
    | CHN         | Harbin             |    4289800 |
    | CHN         | Shenyang           |    4265200 |
    | CHN         | Kanton [Guangzhou] |    4256300 |
    | CHN         | Chengdu            |    3361500 |
    | CHN         | Nanking [Nanjing]  |    2870300 |
    +-------------+--------------------+------------+
    10 rows in set (0.00 sec)
    
    1. limit m,n 分页(限制) 配合order by 使用
    #查询中国所有的城市,并以输出6-10行
    mysql> select countrycode,name,population from world.city where countrycode='CHN' order by population desc limit 5,5;
    +-------------+--------------------+------------+
    | countrycode | name               | population |
    +-------------+--------------------+------------+
    | CHN         | Harbin             |    4289800 |
    | CHN         | Shenyang           |    4265200 |
    | CHN         | Kanton [Guangzhou] |    4256300 |
    | CHN         | Chengdu            |    3361500 |
    | CHN         | Nanking [Nanjing]  |    2870300 |
    +-------------+--------------------+------------+
    5 rows in set (0.00 sec)
    #limit 5,5 意思是前5行不用显示,从第6行开始显示5行(6.7.8.9.10)
    
    #显示6-8行数数据
    mysql> select countrycode,name,population from world.city where countrycode='CHN' order by population desc limit 5,3;
    +-------------+--------------------+------------+
    | countrycode | name               | population |
    +-------------+--------------------+------------+
    | CHN         | Harbin             |    4289800 |
    | CHN         | Shenyang           |    4265200 |
    | CHN         | Kanton [Guangzhou] |    4256300 |
    +-------------+--------------------+------------+
    3 rows in set (0.00 sec)
    
  • 相关阅读:
    lsmod-查看内核模块信息
    centos 7 下通过 conda 安装 cuda pytorch
    python 中文编码
    matplotlib
    How to determine the correct number of epoch during neural network training? 如何确定Epoch
    nvidia-smi Failed to initialize NVML: Driver/library version mismatch
    MySQL MAX函数:查询指定列的最大值
    mysql之group_concat函数详解
    @Param注解的用法解析@Param注解的用法解析
    【MySQL函数】replace()函数
  • 原文地址:https://www.cnblogs.com/woaiyunwei/p/13057691.html
Copyright © 2011-2022 走看看