一.Mysql简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
二.Mysql基本命令
I.库
1. 创建数据库
语法 :create database 数据库名 创建数据库ab create database ab;
2. 查看数据库
显示所有的数据库 show databases; 以行显示所有数据库 show databases G
3.删除数据库
语法:drop database 数据库名 删除数据库ab drop database ab;
II.表
1. 创建表
语法:create table 表名 (字段名,类型,字段名,类型,字段名,类型); create table book(idint(10),namechar(40),age int);
2.查看表结构
desclist; explain food.list; show columns from food .list; show columns from food. list like'%id'; #查看表的创建过程,指定存储引擎,字符集 show create table list;
3.mysql存储引擎
mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED
4. 删除表
语法:drop table 表名 drop table list;
5.修改表名
语法:alter table 表名 rename 新表名; alter table list rename lists;
6. 修改表中的字段类型
语法:alter table 表名 modify 要修改的字段名 字段名的新字段类型 alter table lists modifyid char(40);
7.修改表中字段名称和类型
语法:altertable 表名 change 原字段名 新字段名 新字段类型 alter table lists change id ids int(40);
8.表中添加字段
1.表中添加字段
语法:alter table 表名 add 字段名 字段类型 alter table lists add sum int(50);
2.表第一行添加字段
语法:alter table 表名 add 字段名 字段类型 first 第一行添加字段 alter table lists add sum int(50)first;
3.在字段后添加字段
语法:alter table 表名 add 字段名 字段类型 after su 字段su后添加字段 alter table lists add so char(30)after su;
9.删除表中字段
语法:alter table 表名 drop 字段名 alter table lists drop so;
III.记录
1.字段中插入记录
语法:insert into 表名 values(1,‘zhangshan’,2); 后面记录指定为空 insert into lists values(1,2,‘shanshi’,null,null); 插入多条记录中间用分号隔开 insert into lists valus (1,2,‘lisi’,null,null),(2,3,‘siji’,1,1); 指定字段插入 insert into lists (su,ids)values(1,1);
2.查询表中记录
语法:select * from 表名 表示所有记录 select * from lists; 查询ids中记录 select ids from lists; 查询ids,su中记录 select ids,su from lists; 查看指定数据库中表内容 select * from food.lists; `
3.删除表中记录
语法:delete from表名 where 字段名=xx delete from lists where ids=2; 删除字段name记录为空的行 delete from lists where name is null;
4.更新记录
语法:update 表名 set 字段名1=xx where 字段名2=xx update lists set ids=1 where name=null; 所有都变成2 update lists set ids=2 同时更新多个字段用分号隔开 update lists set ids=3,name=‘lisi’ where su=1;
三.SQL基本语句查询
1. 多字段查询
语法:select 字段1,字段2 from 表名 select ids,name from lists;
2. 去重复查询
语法:select distinct 字段1,字段2 from 表名 select distinct ids,name from lists;
3.使用and和or多条件查询
语法:select 字段1,字段2 from 表名 where 字段1>3 and 字段2<5 select ids,name from lists where ids>3 and name <5; select ids,name from lists where ids>3 or name <5; and与or同时存在时,先算and左右两边的,逻辑与先执行 select * from lists where ids=3 and(su=1 or name =5);
4.mysql区分大小写查询
语法:select * from 表名 where binary 字段1=‘xxx’ binary区分大小写 select *from lists where binary name=‘LK’
5.排序查询
语法:select distinct 字段1,字段2 from 表名 orderby 字段名 默认是升序排列 select distinct ids,su from lists orderby ids; 降序排列 select distinct ids,su from lists orderby ids desc;
6.查询引用别名
语法:select * from 旧表名 新表名 select * from lists s; 语法:select 旧字段名 as 新字段名 from 表名 指定字段别名 select ids as s from lists;
7.like查询
语法:select 字段名1 字段名2 … from 表名 where 字段名1 like ‘�c’ or 字段名2 like ‘�C’ select abc ABC from abc1 where abc like ‘�c’ or ABC like ‘�C’
四.常用select查询
打印当前的日期和时间 selectnow(); 打印当前的日期 selectcurdate(); 打印当前的时间 selectcurtime() 打印当前数据库 selectdatabase(); 打印数据库版本 selectversion(); 打印当前用户 selectuser();
五.导入导出数据库
1.导入数据库
方法一
创建数据库 :mysql -e ‘create database book’ -uroot -p123456 导入数据库 :mysql -uroot -p123456 book
方法二
创建数据库 :mysql -e ‘create database book’ -uroot -p123456 导入数据库 :source /root/book.sql ** // 数据库所在路径**
2.导出数据库
mysqldump -uroot -p123456 数据库名>数据库文件名 mysqldump -uroot -p123456 book>book.sql 导出包含建库语句 mysqldump -uroot -p123456 -B book>book.sql 导出所有数据库 mysqldump -uroot -p123456 -A book>book.sql 导出数据库到文件 select * from lists outfile ‘/tmp/123.txt' ;