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;

 

 

posted @ 2017-07-06 09:29  MK3945  阅读(155)  评论(0)    收藏  举报