• MySQL命令的使用第11天


    MySQL命令

    登陆Mysql:mysql -u 用户名 –p密码 

    退出Mysql\qexit 

    注:对表的所有操作都要先选择表所在的数据库,选择数据库: use 数据库名;

    显示

    l 显示所有的数据库:show databases;  

    l 显示单个数据库的创建信息:show create database 数据库名;(可看到:DEFAULT CHARACTER SET utf8)

    l 显示所先数据库中的所有表:show tables;   

    l 显示单个表的创建信息:show create table 表名; (可看到:DEFAULT CHARSET=utf8 信息)

    l 显示表的字段的详细信息:desc 表名;  (可看到Type,Key,Default,Extra等信息)

    l 显示表中的记录:select 字段名 from 表名 where 筛选条件

    l 查看编码的类型:show variables like 'character%';
    类型有:
    *character_set_client  指示客户端使用的编码
    *character_set_connection 连接数据库时的编码
    *character_set_database 数据库的编码
    *character_set_results 结果的编码
    character_set_server 服务程序的编码
    character_set_system

    创建

    创建数据库:create database 数据库名;

                create database 数据库名character set gbk;(使用GBK字符集的数据库)

    create database 数据库名collate utf8_general_ci; (使用utf8_general_ci校对的数据库,注:这个校对还要与“character set”对应才行,如果“character set”为GBK,而校对为“utf8_general_ci”则会报错。“character set”所对应的校对可以有多种,可以在Mysql帮助文档中查看)

    创建数据库表:

    create table 表名(

    id INT,

    name VARCHAR(30),

    gender VARCHAR(10),

    birthday DATE,

    salary FLOAT(8,2),

    resume TEXT

    );

    对数据库的操作:

    l 创建数据库:create database 数据库名;

    l 删除数据库:drop database 数据库名;

    l 备份数据库的所有的表:mysqldump -u 用户名 –p密码 数据库名>d:/test.sql

    l 恢复数据库的所有的表:source D:/database/db1.sql;将表恢复到所先的数据库中

    对表的操作:

    l 删除表:drop table表名;

    l 重命名表:rename table 原表名 to 新表名;

    l 修改表的字符集:alter table 表名 character set gbk;

    l 增加字段:alter table表名add 字段名 varchar(10);

    对字段的操作

    l 修改字段类型:alter table表名modify 字段名 varchar(99);

    l 修改字段名字:alter table orderr change color color varchar(20);

    l 删除字段:alter table表名drop 字段名;

    对记录的操作

    l 插入记录:

    方式一:这里的值要和(字段1,字段2,字段3)中指示的字段顺序一致,而且(字段1,字段2,字段3)中指示的字段的顺序可以和表中的字段的顺序不一致,也可以少于表中的字段数量。命令如下:
    insert into orderr (字段1,字段2,字段3) values(value1, value12,value3);

    方式二:这里的值必须与表中有的字段的顺序一致,且全部字段的值都要写:

    insert into orderr values(value1, value12,value3);

    方式三:

    l 修改记录:

    1、把某个字段的所有记录的值都改为:100
    update表名set 字段名=88;

    2、将姓名为guolei的员工薪水修改为4000,job改为ccc

    update表名set salary=4000,job='ccc' where username='guolei';

    3、将“娇姐”的薪水在原有基础上增加1000元。

    update表名set salary=salary+1000 where username='娇姐';

    l 删除记录:

    1、删除表中名称为guolei的记录

    delete from 表名 where username='guolei';

    2、删除表中所有记录(一条一条地删除)
    delete from 表名;
    3、使用truncate删除表中记录(摧毁整张表格,然后重建表结构)

    TRUNCATE user;

    l 显示记录:

    格式:select 字段1,字段2,字段n from 表名 where 字段判断表达式;

    注:字段1、字段2、字段n可以参加运算,也可以用*表示选择所有字段

    字段表达式中可以用的判断符号有:=、><<>、多个判断表达式可用orand连接,示例如下:

    1、显示表中所有的记录
    select * from student;
    select 字段1,字段2,字段3,字段n from student;
    2、显示所有记录,但只显示nameenglish字段
    select name,english from student;

    3、只显示英语成绩字段,并且重复的分数只显示一个

    select distinct english from student;

    4、在所有学生的数学分数上都加上10

    select name,math+10 from student;

    5、统计每个学生的总分
    select name,chinese+english+math from student;

    6、使用别名表示总分
    select name,chinese+english+math as 总分 from student; 或:
    select name,chinese+english+math 总分 from student;

    7、查询姓名为王五和李一的学生的记录
    select * from student where name='王五' or name='李一';

    8、查询英语成绩大小90分的所有记录
    select * from student where english>90;

    9、查询英语分数在 8090之间的同学

    SELECT name,english FROM student WHERE english>80 AND english<=90;

    或者

    SELECT name,english FROM student WHERE english BETWEEN 80 AND 90;

    10、查询数学分数为89,90,91的同学

    SELECT name,math FROM student WHERE math IN (89,90,91);

    11、查询所有姓李的学生成绩

    SELECT name,chinese,english,math FROM student WHERE name LIKE '%';

    12、对数学成绩排序后输出

    SELECT name,math FROM student ORDER BY math DESC;//降序

    13、对姓李的学生成绩排序输出

    SELECT name,chinese,english,math FROM student WHERE name LIKE '%' ORDER BY math DESC;

    14、统计一个班级共有多少学生

    SELECT count(*) FROM student;

    15、统计数学成绩大于90的学生有多少个

    SELECT count(*) FROM student WHERE math>80;
    16、统计一个班级数学总成绩

    SELECT SUM(math) FROM student;

    17、统计一个班级语文、英语、数学各科的总成绩

    SELECT SUM(math),SUM(chinese),SUM(english) FROM student;

    18、统计一个班级语文、英语、数学的成绩总和

    SELECT SUM(math+chinese+english) FROM student;

    19、统计一个班级语文成绩平均分

    SELECT SUM(chinese)/COUNT(*) FROM student;

    20、求一个班级数学平均分

    SELECT AVG(math) FROM student;

    21、求一个班级总分平均分

    SELECT AVG(math+chinese+english) FROM student;

    22、求班级最高分

    SELECT MAX(math+chinese+english) FROM student;

    23、求班级最低分

    SELECT MIN(math+chinese+english) FROM student;

    24、对订单表中商品归类后,显示每一类商品的总价

    SELECT product,SUM(price) FROM orders GROUP BY product;

    25、在上面的基础上进一步筛选出每类总价大于100的商品

    SELECT product,SUM(price) FROM orders GROUP BY product HAVING SUM(price)>100;

    删除

    l 删除数据库:drop database 数据库名;

    l 删除字段:alter table表名drop 字段名;

    l 删除表:drop table表名;

    l 删除记录:
    1、删除表中名称为guolei的记录

    delete from 表名 where username='guolei';

    2、删除表中所有记录(一条一条地删除)
    delete from 表名;
    3、使用truncate删除表中记录(摧毁整张表格,然后重建表结构)

    TRUNCATE user;

    修改

    l 修改数据库的字符集编码:alter database 数据库名character set gbk;

    l 修改字段:alter table表名modify 字段名 varchar(99);

    l 修改客户端使用的编码(只对当前窗口有效)
    set character_set_client=gbk;

    set character_set_results=gbk;

    备份/恢复

    备份数据库的所有的表:mysqldump -u 用户名 –p密码 数据库名>d:/test.sql  

    远程备份:mysqldump -h ip地址 –u用户名 –p密码 test>d:/test.sql

    注:上面两种备份命令都是Windows命令,需在windows 命令提示符中输入才有效

    恢复数据库的所有的表:先用use选择数据库,然后用:source D:/database/db1.sql;将表恢复到所先的数据库中

    另一种恢复的方法:在Windows命令提示符中输入:mysql –u用户名 –p密码 数据库名<D:/test.sql


  • 相关阅读:
    Pandas+Numpy 数据中空值的处理操作:判断、查找、填充及删除
    跑新项目时遇到的报错及解决方案
    Java Stream流排序null以及获取指定条数数据
    通信端口Com口被占用的原因分析
    查询sq字段逗号分隔的方式
    IIS及时回收
    oracle中创建sequence指定起始值
    js 面向对象代码
    C# 将html实体编码转换到正常字符 & #40;格式
    DataTable列查询加排序
  • 原文地址:https://www.cnblogs.com/runwind/p/4454721.html
Copyright © 2020-2023  润新知