注意:本篇文章主要是显示一些查询语句的写法,起备忘作用
1.查询
注:
1.and和or同时出现,and优先级比or高,若想or先执行加括号
2.in 查出的是具体值,不是区间,相当于多个or
注:最后一种,当我们按sal升序排序,发现有的值相同,我们可以在设置根据别的字段排序
注:在查询语句中,如果有group by,select 后面只能跟参与分组的字段或者分组函数,添加其他的没有意义
注:这里的条件 是使用的having,原因是根据执行顺序来说 avg(sal) >2500 (分组函数)不能在where处,
先从表中查询数据,经过where条件筛选出符合条件的数据,对这些有价值的数据进行分组,分组之后在使用having继续筛选
外连接,outer可省略
四张表连接!!!
from后边的子查询
1.导出整个数据库mysqldump-u用户名-p–default-character-set=latin1数据库名》导出的文件名(数据库默认编码是latin1)23mysqldump-uwcnc-psmgp_apps_wcnc》wcnc.sql
2.导出一个表
mysqldump-u用户名-p数据库名表名》导出的文件名23mysqldump-uwcnc-psmgp_apps_wcncusers》wcnc_users.sql
3.导出一个数据库结构
mysqldump-uwcnc-p-d–add-drop-tablesmgp_apps_wcnc》d:wcnc_db.sql23-d没有数据–add-drop-table在每个create语句之前增加一个droptable
4.导入数据库
A:常用source命令23进入mysql数据库控制台,45如mysql-uroot-p67mysql》use数据库89然后使用source命令,后面参数为脚本文件(如这里用到的.sql)1011mysql》sourcewcnc_db.sql1213B:使用mysqldump命令1415mysqldump-uusername-pdbname《filename.sql1617C:使用mysql命令1819mysql-uusername-p-Ddbname《filename.sql启动与退出
1、进入MySQL:启动MySQLCommandLineClient(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql》
2、退出MySQL:quit或exit
5.创建数据库
命令:createdatabase《数据库名》
例如:建立一个名为xhkdb的数据库
mysql》createdatabasexhkdb
6.显示所有的数据库
命令:showdatabases(注意:最后有个s)
mysql》showdatabases
7.删除数据库
命令:dropdatabase《数据库名》
8.连接数据库
命令:use《数据库名》
例如:如果xhkdb数据库存在,尝试存取它:
9.查看当前使用的数据库
mysql》selectdatabase()
10.当前数据库包含的表信息:
mysql》showtables(注意:最后有个s)
sync-binlog=0: 关闭通过MySQL服务器将二进制日志刷入磁盘,MySQL服务器依赖于 *** 作系统每秒将二进制日志刷新到磁盘。这个设置提供了最好的性能,但是当碰到断电或系统崩溃的时候,可能会造成服务器提交的事务没有被同步到二进制日志中。sync-binlog=1: 开启在事务提交前将二进制日志刷入磁盘。这是最安全的设置,但是这对磁盘读写会造成负面影响。当碰到断电或系统崩溃的时候,丢失的事务只是进入准备状态,这个 *** 作允许自动恢复程序去回滚这些事务,保证了没有事务会从二进制日志中丢失。
sync-binlog=N: 每向二进制日志文件写入N条SQL或N个事务后,则把二进制日志文件的数据刷新到磁盘上;
innodb_flush_log_at_trx_commit=0: log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘) *** 作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的 *** 作。
innodb_flush_log_at_trx_commit=1: 完全遵从ACID,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去。
innodb_flush_log_at_trx_commit=2: 每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘) *** 作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘) *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)