mysql的命令使用
摘自:http://www.cnblogs.com/lulu638/p/4439651.html
1、安装mysql
安装mysql,网上教程可以参考
安装数据库可视化工具:Navicat Premium
登录mysql:
在命令行或shell中输入: mysql -u 用户名 -p密码(无空格);
2、创建修改数据库:
创建一个名称为mydb1的数据库。
mysql>CREATE DATABASE mydb1; (字符集采用数据库默认的--安装时的那个,推荐使用utf-8编码)
查看数据库的创建细节
mysql>SHOW CREATE DATABASE mydb1;
查看当前所有的数据库
mysql>SHOW DATABASES;
创建一个使用gbk字符集的mydb2数据库。
mysql>CREATE DATABASE mydb2 CHARACTER SET gbk;
创建一个使用utf8字符集,并带校对规则的mydb3数据库。
mysql>CREATE DATABASE mydb3 CHARACTER SET utf8 COLLATE utf8_general_ci;
查看当前数据库服务器中的所有数据库
mysql>SHOW DATABASES;
查看前面创建的mydb2数据库的定义信息
mysql>SHOW CREATE DATABASE mydb2;
删除前面创建的mydb1数据库
mysql>DROP DATABASE mydb1;
查看服务器中的数据库,并把mydb2的字符集修改为utf8;
mysql>ALTER DATABASE mydb2 CHARACTER SET utf8;
3、数据表结构操作
创建表之前要先选择数据库。
选择数据库
mysql>USE mydb2;
创建一个员工表
mysql>CREATE TABLE employee(
id int,
name varchar(100),(设定字段名,字段字符类型,最大长度)
gender varchar(10),
birthday date,
entry_date date,
salary float(8,2),
);
查看当前数据库中的所有表
mysql>SHOW TABLES;
查看表的创建细节
mysql>SHOW CREATE TABLE employee;
在上面员工表的基本上增加一个image列。
mysql>ALTER TABLE employee ADD image blob;
修改job列,使其长度为60。
mysql>ALTER TABLE employee MODIFY job varchar(60);
删除image列。
mysql>ALTER TABLE employee DROP image;
表名改为user。
mysql>RENAME TABLE employee TO user;
修改表的字符集为utf8
mysql>ALTER TABLE user CHARACTER SET utf8;
列名name修改为username
mysql>ALTER TABLE user CHANGE name username varchar(100);
4、数据操作语言
a.向表中插入数据
mysql>INSERT INTO user (id,username,gender,birthday,entry_date,job,salary,resume) VALUES(1,'zhw','male','1990-08-09','2014-03-29','CTO',10000,'description');
b.更新数据
将所有员工薪水修改为5000元。
mysql>UPDATE user SET salary=5000;
将姓名为’zhw’的员工薪水修改为3000元。
mysql>UPDATE user SET salary=3000 WHERE username=’zhw’;
将姓名为’hch’的员工薪水修改为4000元,job改为ccc。
mysql>UPDATE user SET salary=4000,job=’ccc’ WHERE username=’hch’;
将”皇甫张军”的薪水在原有基础上增加1000元。
mysql>UPDATE user SET salary=salary+1000 where username=’皇甫张军’;
c.删除数据
删除表中名称为’zhw’的记录。
msyql>DELETE FROM user WHERE username=’zhw’;(删除某个字段)
删除表中所有记录。
mysql>DELETE FROM user;(删除整张表--慎行)
d.简单查询数据
查询表中所有学生的信息。
mysql>SELECT * FROM student;
查询表中所有学生的姓名和对应的英语成绩。
mysql>SELECT name,english FROM student; (投影查询)
过滤表中重复数据。
msyql>SELECT DISTINCT english FROM student;
在所有学生数学分数上加10分特长分。
mysql>SELECT name,math+10 FROM student;
统计每个学生的总分。
mysql>SELECT name,chinese+english+math FROM student;
使用别名表示学生分数。
mysql>SELECT name AS 姓名,chinese+english+math 总分 FROM student;
查询姓名为王五的学生成绩
msyql>SELECT * FROM student WHERE name='王五';
查询英语成绩大于90分的同学
mysql>SELECT * FROM student WHERE english>90;
查询总分大于200分的所有同学
mysql>SELECT * FROM student WHERE (chinese+english+math)>200;
查询英语分数在 80-90之间的同学。
mysql>SELECT * FROM student WHERE english BETWEEN 80 AND 90;
查询数学分数为89,90,91的同学。
mysql>SELECT * FROM student WHERE math IN (89,90,91);
查询所有姓李的学生成绩。
mysql>SELECT * FROM student WHERE name LIKE ‘李%’;
查询数学分>80,语文分>80的同学。
mysql>SELECT * FROM student WHERE math>80 AND chinese>80;
对数学成绩排序后输出。
mysql>SELECT name,math FROM student ORDER BY math;
对总分排序后输出,然后再按从高到低的顺序输出
mysql>SELECT name,chinese+english+math FROM student ORDER BY chinese+english+math DESC;
对姓李的学生语文成绩排序输出(由高到低)
msyql>SELECT name,chinese FROM student WHERE name LIKE ‘李%’ ORDER BY chinese DESC;
5、报表查询(使用数据库提供的函数)
统计一个班级共有多少学生?
msyql>SELECT COUNT(*) FROM student;
统计数学成绩大于90的学生有多少个?
mysql>SELECT COUNT(*) FROM student WHERE math>90;
统计总分大于250的人数有多少?
mysql>SELECT COUNT(*) FROM student WHERE (chinese+english+math)>250;
统计一个班级数学总成绩?
mysql>SELECT SUM(math) FROM student;
统计一个班级语文、英语、数学各科的总成绩
mysql>SELECT SUM(chinese),SUM(english),SUM(math) FROM student;
统计一个班级语文、英语、数学的成绩总和
mysql>SELECT SUM(chinese+english+math) FROM student;
统计一个班级语文成绩平均分
mysql>SELECT SUM(chinese)/COUNT(*) FROM student;
求一个班级数学平均分?
mysql>SELECT AVG(math) FROM student;
求一个班级总分平均分
mysql>SELECT AVG(chinese+english+math) FROM student;
求班级语文最高分和数学最低分
mysql>SELECT MAX(chinese) FROM student;
mysql>SELECT MIN(math) FROM student;

浙公网安备 33010602011771号