Mysql常用操作
安装:rpm包
wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-server-5.5.27-1.linux2.6.i386.rpm
wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-client-5.5.27-1.linux2.6.i386.rpm
rpm –ivh MySQL-server-5.5.27-1.linux2.6.i386.rpm
rpm –ivh MySQL-client-5.5.27-1.linux2.6.i386.rpm
查看运行状态:
Service mysql status
一.连接mysql:
格式: mysql -h主机地址 -u用户名 -p用户密码
二.修改密码:
格式:mysqladmin -u用户名 -p旧密码 password 新密码
三、常用命令:
1.显示数据库:use databases;
2.显示具体的表: show tables;
3、 显示数据表的结构:
describe
表名;
4、 建库:
create database 库名;
5、 建表:
use 库名;
create table 表名(字段设定列表);
6、 删库和删表:
drop database 库名;
drop table 表名;
7、 将表中记录清空:
delete from 表名;
8、 显示表中的记录:
select * from 表名;
9.其它常用的语句:
SELECT USER();
SELECT NOW();
Select version(),current_date();
Select (20+5*10)/4;
10.数据更新
Insert into tablename(列名…)values(列值);
Insert into tables values(‘’,’’,’’);
Update tables set values=’’ where…
11.查询结果限制条数【Limit】,类似sql server中的top
Select * from info limit 10
数据类型:
整型:int
字符(串)类型:char(10), 可变字符:varchar(50);
时间类型:date,time,datetime,year;
12.mysql数据库脚本导出与还原:
Mysql>mysqldump baibu –u root –R>baibu.sql ---脚本导出
Mysql> use baibu; ---脚本还原
Mysql> source /root/baibu.sql ---数据库脚本存放目录
SQL语句:
- 确定数据表里有多少条记录
Select count(pubID) from publishers;
- 去除多余的Distinct
Select count(distinct pubID)from publishers;
Select count(*)/count(distinct titleID)from info;
- 对查询结果进行排序
Select * from authors Order by authname(desc)
- 筛选数据记录:【where,having】
Select * from info where sbbid=’yu2000’
Select * from info where snbid like(%yu);
Select * from info where snbid in(yu2000,yu2020);
- 多表查询:
需要使用Join语法来构造:
Inner join内联结
Outer join外联结
² 内连接(INNER JOIN):最常用使用一个比较操作符(=,<>),将以两个表中共同的值为基础来匹配两个表中的行
SELECT publName,title
FROM publishers INNER JOIN titles
ON publishers.publID=titles.publID
ORDER BY publName
- 合并查询结果:Union
合并同一个数据表中的两个SELECT命令的结果:
SELECT * FROM authors WHERE authName LIKE 'b%'
UNION
SELECT * FROM authors WHERE authName LIKE 'g%
- 修改数据
Insert
Update
Delete
实例:insert into
1)列出有关数据列的名字(有默认值,允许包含NULL,带有AUTO_INCREMENT属性的数据列不用列出)然后写出被插入的数据:
USE mylibrary;
INSERT INTO titles(title,year)
VALUES ('MySQL',2005);
2)出数据列的名字,则必须为所有的数据列按其顺序提供数据值
INSERT INTO titles
VALUES (NULL,'deleteme','',1,NULL,NULL,NULL,2005,NULL,NULL,NULL,NULL)
实例:update…set…where
UPDATE titles SET title='Linux,6th ed.' WHERE titleID=1
实例:delete
Delete from titles where titleID=8;
Drop table