您的位置:首页 > 数据库 > MySQL

DB-Mysql-基础

2016-09-27 00:03 441 查看

连接与断开

连接服务器

shell>mysql -h host -u user -p


断开服务器

mysql>quit


常用查询

select version() 显示版本

select current_date 显示当前日期

select now() 显示当前用户

show databases 显示所有数据库

show tables in database 显示某个数据库中的所有数据表

use database 使用某个数据库

describe table_name 显示表的详细信息

创建数据库&表

mysql>create database mytest;


mysql>create table userinfo(name varchar(20),gender varchar(4),ctime date);


加载数据

insert into table_name values


load data local infile 'dir/file' into table table_name lines terminated by '行结束符'


查询数据

select name, gender, ctime from userinfo where name = 'mete' or name = 'allen' and gender = 'female' order by ctime


ps: NULL 在mysql中 是特殊的值,不能使用普通比较符来比较,需要用is或is not

模糊匹配

“_” 匹配任何单个字符;

“%”匹配任意数目字符(包括零字符)。

mysql> select * from userinfo where name LIKE 'm%'


PS:使用SQL模式时,不能使用=或!=,而应使用LIKE或NOT LIKE比较操作符。

分组函数

分组 函数包含

count() 计数

sum() 求和

min() 最小值

max() 最大值

average() 平均值

以上经常与group by组合使用,

mysql>select name, gender, count(*) from userinfo group by ctime


批量处理

为了批量完成处理操作,而不是交互式的方式,可将操作内容放入文件,然后将文件导入mysql进行执行

shell>mysql < test.sql


PS:在执行脚本之前,留心检查脚本中是否写了 use db

设置自增属性

可使用AUTO_INCREMENT属性为新的字段设置自增属性,可用来做唯一标识&索引

create table gender (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
gender ENUM('male','female','neutral') NOT NULL,
PRIMARY KEY  (gender,id));


Mysql 存储引擎

show engines 查看当前mysql所使用的引擎,最常用的有MyISAM和InnoDB

MyISAM:默认引擎,它是基于传统的ISAM(有索引的顺序访问方法)类型,它是存储记录和文件的标准方法,但不是事务安全的,而且也不支持外键。如果执行大量 的SELECT,MyISAM是更好的选择,与InnoDB相比,可节省空间12%,存储索引可节省95%

InnoDB:事务安全的存储引擎,支持事务、事务支持、行级锁定等



本文参考了叶金荣老师的一部分文档内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息