mariaDB编译安装及事件介绍
#!/bin/bash yum -y -q install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel TAR=mariadb-10.2.32.tar.gz PACKET=mariadb-10.2.32 CPUS=`lscpu |awk '/^CPU\(s/{print $2}'` mkdir /data/mysql useradd -r -s /sbin/nologin -d /data/mysql mysql chown mysql.mysql /data/mysql tar xvf ${TAR} -C /usr/local/src/ cd /usr/local/src/${PACKET} cmake . \ -DCMAKE_INSTALL_PREFIX=/apps/mysql \ -DMYSQL_DATADIR=/data/mysql/ \ -DSYSCONFDIR=/etc/ \ -DMYSQL_USER=mysql \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ -DWITH_DEBUG=0 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci make -j ${CPUS} && make install echo 'PATH=/apps/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh cd /apps/mysql scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql cp support-files/my-huge.cnf /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld service mysqld start
Event事件
默认在MySQL中不开启,对应属性:@@event_scheduler
事件存放位置
mysql.event表
优缺点
优点:一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能,可以实现每秒钟执行一个任务,
这在一些对实时性要求较高的环境下就非常实用
缺点:定时触发,不可以直接调用
小练习
环境
+-------+---------------+-----+--------+---------+-----------+ | StuID | Name | Age | Gender | ClassID | TeacherID | +-------+---------------+-----+--------+---------+-----------+ | 1 | Shi Zhongyu | 22 | M | 2 | 3 | | 2 | Shi Potian | 22 | M | 1 | 7 | | 3 | Xie Yanke | 53 | M | 2 | 16 | | 4 | Ding Dian | 32 | M | 4 | 4 | | 5 | Yu Yutong | 26 | M | 3 | 1 | | 6 | Shi Qing | 46 | M | 5 | NULL | | 7 | Xi Ren | 19 | F | 3 | NULL | | 8 | Lin Daiyu | 17 | F | 7 | NULL | | 9 | Ren Yingying | 20 | F | 6 | NULL | | 10 | Yue Lingshan | 19 | F | 3 | NULL | | 11 | Yuan Chengzhi | 23 | M | 6 | NULL | | 12 | Wen Qingqing | 19 | F | 1 | NULL | | 13 | Tian Boguang | 33 | M | 2 | NULL | | 14 | Lu Wushuang | 17 | F | 3 | NULL | | 15 | Duan Yu | 19 | M | 4 | NULL | | 16 | Xu Zhu | 21 | M | 1 | NULL | | 17 | Lin Chong | 25 | M | 4 | NULL | | 18 | Hua Rong | 23 | M | 7 | NULL | | 19 | Xue Baochai | 18 | F | 6 | NULL | | 20 | Diao Chan | 19 | F | 7 | NULL | | 21 | Huang Yueying | 22 | F | 6 | NULL | | 22 | Xiao Qiao | 20 | F | 1 | NULL | | 23 | Ma Chao | 23 | M | 4 | NULL | | 24 | Xu Xian | 27 | M | NULL | NULL | | 25 | Sun Dasheng | 100 | M | NULL | NULL | +-------+---------------+-----+--------+---------+-----------+
查询年龄大于25的男学生姓名和年龄
select name 姓名,age 年龄 from students where age > 25; +--------------+--------+ | 姓名 | 年龄 | +--------------+--------+ | Xie Yanke | 53 | | Ding Dian | 32 | | Yu Yutong | 26 | | Shi Qing | 46 | | Tian Boguang | 33 | | Xu Xian | 27 | | Sun Dasheng | 100 | +--------------+--------+ 7 rows in set (0.00 sec)
以ClassID为分组依据,并显示每组的平均年龄
select age,classid,avg(age) from students group by classid; +-----+---------+----------+ | age | classid | avg(age) | +-----+---------+----------+ | 27 | NULL | 63.5000 | | 22 | 1 | 20.5000 | | 22 | 2 | 36.0000 | | 26 | 3 | 20.2500 | | 32 | 4 | 24.7500 | | 46 | 5 | 46.0000 | | 20 | 6 | 20.7500 | | 17 | 7 | 19.6667 | +-----+---------+----------+ 8 rows in set (0.00 sec)
显示上述条件中平均年龄大于30的分组及平均年龄
select age,classid,avg(age) from students group by classid having avg(age)>30; +-----+---------+----------+ | age | classid | avg(age) | +-----+---------+----------+ | 27 | NULL | 63.5000 | | 22 | 2 | 36.0000 | | 46 | 5 | 46.0000 | +-----+---------+----------+

浙公网安备 33010602011771号