一、目标

MariaDB最基本的一些知识学习和基础命令的使用

二、平台

centos7.6,  5.5.60-MariaDB MariaDB Server

三、解析
1.***

四、MariaDB基本用法

1.登录数据库 :[root@xserver ~]# mysql -u root -p
2.查看所有数据库:MariaDB [(none)]> show databases;
3.创建数据库:MariaDB [(none)]> create database kahnDB default charset=utf8;
4.使用某数据库:
MariaDB [(none)]> use kahnDB;
Database changed
MariaDB [kahnDB]> 
5.创建一张student表

  1. MariaDB [kahnDB]> create table student(                       #创建表student
  2. -> num int(10) not null unique primary key,                 #创建编号,设置为主键,不能为空,唯一
  3. -> name varchar(20) not null,                                     #创建字段姓名,varchar20长度,非空
  4. -> sex varchar(4) not null,                                           #创建字段性别,varchar4长度,非空
  5. -> birthday datetime,                                                   #创建字段出生年月,数据类型为datetime
  6. -> address varchar(50)                                               #创建家庭住址字段,数据类型为varchar长度50
  7. -> );                                                                             #最后用);包住,回车创建完毕。
  8. Query OK, 0 rows affected (0.03 sec)

6.查看当前数据库的所有表信息:MariaDB [kahnDB]> show tables;

7.查看某表的数据结构:MariaDB [kahnDB]> desc student;

8.再创建另外一张表grade:

  1. MariaDB [kahnDB]>
  2. MariaDB [kahnDB]> create table grade(                                                  #创建表grade
  3. -> id int(10) not null unique primary key auto_increment,                    #创建字段id,int10类型,非空唯一,主键,自增长
  4. -> course varchar(10) not null,                                                             #创建字段course,varchar类型长度10,非空
  5. -> s_num int(10) not null,                                                                     #创建字段,int10,非空
  6. -> grade varchar(4),
  7. -> constraint grade_fk foreign key(s_num) references student(num)  #创建外键约束名为grade_fk,本表外键约束字段为s_num对应的外部表是student的num字段。
  8. -> );
  9. Query OK, 0 rows affected (0.01 sec)

9.查看创建表的语句:show create table 表名字\G
MariaDB [kahnDB]> show create table grade\G
*************************** 1. row ***************************
       Table: grade
Create Table: CREATE TABLE `grade` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `course` varchar(10) NOT NULL,
  `s_num` int(10) NOT NULL,
  `grade` varchar(4) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `grade_fk` (`s_num`),
  CONSTRAINT `grade_fk` FOREIGN KEY (`s_num`) REFERENCES `student` (`num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

10.修改某字段的数据类型:
将grade表的course字段数据类型修改为varchar(20);
MariaDB [kahnDB]> ALTER TABLE grade MODIFY course VARCHAR(20);

11.修改表中字段的排列顺序:
修改表grade中s_num字段,将其放到字段id后面
MariaDB [kahnDB]> ALTER TABLE grade MODIFY s_num INT(10) AFTER id;

12.将表中某字段改个名字:
将表grade中grade的字段名改为score
MariaDB [kahnDB]> ALTER TABLE grade CHANGE grade score VARCHAR(4);

13.删除某表中的某字段的外键:
MariaDB [kahnDB]> ALTER TABLE grade DROP FOREIGN KEY grade_fk;
13-1.要想删除某字段的外键属性,那必须先查到这个字段的外键名MariaDB [kahnDB]> show create table grade;
13-2.执行删除命令ALTER TABLE grade DROP FOREIGN KEY grade_fk;  将表grade的一个叫grade_fk的外键删除掉。

14.修改表的存储引擎为MyISAM:
14-1.先查看某表的当前存储引擎是啥:MariaDB [kahnDB]> show create table grade; 看最后一行有ENGINE=InnoDB就是
14-2.再将该表的存储引擎从InnoDB改为MyISAM引擎:MariaDB [kahnDB]> ALTER TABLE grade ENGINE=MyISAM;

15.删除表student中的address字段:MariaDB [kahnDB]> ALTER TABLE student DROP address;

16.在student表中增加一个字段名为phone,数据类型为int(10):
MariaDB [kahnDB]> ALTER TABLE student ADD phone INT(10);

17.将表grade的表名改为gradeInfo:MariaDB [kahnDB]> ALTER TABLE grade RENAME gradeInfo;

18.删除表student:MariaDB [kahnDB]> DROP TABLE student;

19.查看数据库支持的所有存储引擎都有哪些?MariaDB [kahnDB]> SHOW ENGINES\G  ,support:YES才代表支持该引擎

20.查看数据库支持的所有存储引擎有哪些?MariaDB [kahnDB]> show variables like 'have%';

21.查看数据库默认用的存储引擎:MariaDB [kahnDB]> show variables like 'storage_engine';

2019年9月7日23:26:00

五、sql实例1

1.按要求创建一个表

MariaDB [kahnDB]> CREATE TABLE score(-> id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,-> stu_id INT(10) NOT NULL,-> c_name VARCHAR(20),-> grade INT(10)-> );

2.插入数据到student表中:
MariaDB [kahnDB]> INSERT INTO student VALUES(901,'张老大','男',1985,'计算机系','北京市海淀区');
MariaDB [kahnDB]> INSERT INTO score VALUES(NULL,901,'英语',80);    #由于score的id字段是自增长的,所以值写null即可。

3.在student表中,从第二条开始查,往后排3条信息(即第2条到第四条的内容)
MariaDB [kahnDB]> SELECT * FROM student LIMIT 1,3;

4.在student表中,查询前3条信息:MariaDB [kahnDB]> SELECT * FROM student LIMIT 3;

5.查询出计算机系和英语系的所有学生信息:
方法1:MariaDB [kahnDB]> SELECT * FROM student WHERE department='计算机系' OR department='英语系';
方法2:MariaDB [kahnDB]> SELECT * FROM student WHERE department IN('计算机系','英语系');

6.查询年龄在28到30之间的所有学生的信息。
方法1:MariaDB [kahnDB]> SELECT id,name,sex,2019-birth AS age,department,address FROM student WHERE 2019-birth BETWEEN 28 AND 30;
方法2:MariaDB [kahnDB]> SELECT id,name,sex,2019-birth AS age,department,address FROM student WHERE 2019-birth >= 28 AND 2019-birth <= 30;

7.统计出每个系有多少人:MariaDB [kahnDB]> SELECT department,COUNT(*) FROM student GROUP BY department;

8.查询出每个科目的最高分:MariaDB [kahnDB]> SELECT c_name, MAX(grade) FROM score GROUP BY c_name;

9.查询李四的所有科目成绩:
MariaDB [kahnDB]> SELECT c_name, grade From score WHERE stu_id=(SELECT id FROM student WHERE name='李四');

10.用连接查询的方式查询所有学生信息和考试成绩:
格式1:MariaDB [kahnDB]> SELECT student.id,name,sex,birth,department,address,c_name,grade FROM student,score WHERE student.id=score.stu_id;
格式2:MariaDB [kahnDB]> SELECT stu.id,stu.name,stu.sex,stu.birth,stu.department,stu.address,sco.c_name,sco.grade FROM student AS stu,score AS sco WHERE stu.id=sco.stu_id;

11.计算出每个学生的总成绩:
格式1:MariaDB [kahnDB]> SELECT stu_id,SUM(grade) FROM score GROUP BY stu_id;:

格式二:MariaDB [kahnDB]> SELECT student.name,stu_id,SUM(grade) FROM score,student WHERE score.stu_id=student.id GROUP BY stu_id;

12.计算出每个的科目平均值:
MariaDB [kahnDB]> SELECT c_name,AVG(grade) FROM score GROUP BY c_name;

13.查出计算机成绩低于95的所有学生信息
格式1:MariaDB [kahnDB]> SELECT * FROM student WHERE id IN (SELECT stu_id FROM score WHERE c_name='计算机' AND grade < 95);

格式2:MariaDB [kahnDB]> select stu.id, stu.name, sco.c_name, sco.grade from student as stu, score as sco where stu.id=sco.stu_id and  sco.c_name='计算机' and sco.grade < 95;

14.查询出同时参加了计算机和英语考试的学生信息:
MariaDB [kahnDB]> SELECT * FROM student WHERE id=ANY(SELECT stu_id FROM score WHERE stu_id IN (SELECT stu_id FROM score WHERE c_name='计算机') AND c_name='英语');

15.将计算机程序进行倒序排序:
MariaDB [kahnDB]> SELECT stu_id, grade FROM score WHERE c_name='计算机' ORDER BY grade DESC;

16.从student表和score表中查询学生的学号,然后合并查询结果:
MariaDB [kahnDB]> SELECT id FROM student UNION SELECT stu_id FROM score;

17.从student表和score表中联合查询姓张的和姓王的同学的所有信息,同时把分数也带出来。
MariaDB [kahnDB]> SELECT student.id, name, sex, birth, department, address, c_name, grade FROM student, score WHERE (name LIKE '张%' OR name LIKE '王%') AND student.id=score.stu_id;

六、sql实例2

1.创建表
MariaDB [kahnDB]> CREATE TABLE food(
    -> id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
    -> name VARCHAR(20) NOT NULL,
    -> company VARCHAR(30) NOT NULL,
    -> price FLOAT,
    -> produce_time YEAR,
    -> validity_time INT(4),
    -> address VARCHAR(50)
    -> );

2.插入一条数据:
格式1:MariaDB [kahnDB]> INSERT INTO food VALUES(1,'AA饼干','AA饼干厂',2.5,'2008',3,'北京');
格式2:MariaDB [kahnDB]> INSERT INTO food (id,name,company,price,produce_time,validity_time,address) VALUES(2,'CC牛奶','CC牛奶厂',3.5,'2009',1,'河北');

3.一次插入多条数据:
MariaDB [kahnDB]> INSERT INTO food VALUES
    -> (NULL,'EE果冻','EE果冻厂',1.5,'2007',2,'北京'),
    -> (NULL,'FF咖啡','FF咖啡厂',20,'2002',5,'天津'),
    -> (NULL,'GG奶糖','GG奶糖厂',14,'2003',3,'广东');

4.将CC牛奶厂的厂址改为内蒙部,并且把价格改为3.2:
MariaDB [kahnDB]> UPDATE food SET address='内蒙古',price=3.2 WHERE name='CC牛奶';

5.将厂址在北京的公司的保质期都改为5年:
MariaDB [kahnDB]> UPDATE food SET validity_time=5 WHERE address='北京';

6.将过期食品都删除掉(假定当前是2012年):
DELETE FROM food WHERE 2012-produce_time > validity_time;

写一篇要几个小时,博客写着确实不容易,希望得到你的支持。
(小手一抖点个赞或随意发个小红包支持一下博主写更多更好的博客)

MariaDB基础知识和基础命令的使用相关推荐

  1. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  2. 15版计算机应用基础知识整理,[电脑基础知识]计算机应用基础.ppt

    [电脑基础知识]计算机应用基础 计算机应用基础 统考 主要内容 考试大纲分析 考题类型与所占比例 考试环境 各章节考点讲解 计算机基础知识 Windows操作 Word.Excel.Powerpoin ...

  3. 消防中计算机基础知识,消防设施操作员基础知识计算机基础知识真题及答案解析.doc...

    消防设施操作员基础知识计算机基础知识真题及答案解析 模块八计算机基础知识 第1节 项目1 计算机系统的组成与功能 单选题(江南博哥) 1.()是计算机的核心部分. 输入设备 存储器 中央处理器 主板 ...

  4. 计算机wrod初级考试题及答案,计算机基础知识+Word基础知识+Excel基础知识试题答案解析.doc...

    文档介绍: 计算机基础知识+ Word基础知识+ Excel基础知识 第一部分 一.单项选择题 1.世界上第一台电子数字计算机取名为(    ). A.UNIVAC    B.EDSAC    C.E ...

  5. 使用微型计算机的基础知识,计算机应用基础考试大纲基本要求1具有使用微型计算机的基础知识.DOC...

    计算机应用基础考试大纲基本要求1具有使用微型计算机的基础知识 计算机应用基础考试大纲 基本要求 ???????????????????????????????????????????????????? ...

  6. 公共基础知识计算机,公共基础知识计算机基础知识试题

    计算机基础知识是公共基础知识考试的组成成分之一,以下是由学习啦小编整理关于共基础知识计算机基础知识试题的内容,希望大家喜欢! 公共基础知识计算机基础知识试题 1.CPU的主要功能是进行( ). A.算 ...

  7. 计算机硬件价钱分配,电脑基础知识计算机硬件基础课件.ppt

    电脑基础知识计算机硬件基础课件 操作系统的概念 指直接控制和管理计算机的硬件和软件资源以便于有效的使用这些资源的程序. 操作系统分类 :单用户操作系统.批处理操作系统.实时操作系统.分时操作系统.网络 ...

  8. 世界上第一代电子计算机取名为,计算机应用基础知识计算机应用基础试题及答案...

    <计算机应用基础知识计算机应用基础试题及答案>由会员分享,可在线阅读,更多相关<计算机应用基础知识计算机应用基础试题及答案(13页珍藏版)>请在人人文库网上搜索. 1.计算机应 ...

  9. 计算机二级基础知识ppt,计算机二级公共基础知识软件工程基础ppt培训课件

    计算机二级公共基础知识软件工程基础ppt培训课件 (46页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 根据三原色原理叠加后的单色形成了 ...

  10. 2014计算机应用基础试题及答案,2014计算机应用基础知识 计算机应用基础试题及答案.doc...

    2014计算机应用基础知识 计算机应用基础试题及答案 计算机应用基础知识 计算机应用基础试题及答案 2012-03-26 11:44 [查查吧] ? 计算机应用基础知识1.1填空题1.第一代计算机采用 ...

最新文章

  1. Spring IOC和MVC基础知识
  2. linux子系统gdp调试,Linux系统中GDB功能汇总
  3. 将虚拟机的版本改为1.6的方法
  4. socket第三方库 AsyncSocket(GCDAsyncSocket)
  5. 聊聊缓存机制:双写兜兜转转,又回到了串行化
  6. 对于最小割的进一步理解
  7. html页面锁屏,JavaScript网页锁屏效果源码实例
  8. jmeter 压力测试教程全解
  9. Qt5学习笔记之bin文件合成工具一:使用对话框选取本地文件并读取
  10. 台式计算机 蓝牙,台式电脑的蓝牙在哪里?台式机怎么打开蓝牙?
  11. Linux命令学习(1) cat命令详解
  12. 计算机人工智能论文参考文献格式,人工智能论文参考文献范例借鉴
  13. 精品文章!精讲光模块的方方面面,收藏!
  14. 10电脑睡眠后自动关机怎么回事 win_win10睡眠变自动关机怎么办
  15. 如何维护一个1000 IP的免费代理池
  16. 概念和术语-数学统计学
  17. 5G/NR 随机接入过程之PRACH时域资源
  18. 点击按钮1 打开/关闭按钮2
  19. 用户权限管理之权限管理
  20. 1月FOMC会议连连放鹰 现货金转空大跌35美元

热门文章

  1. 第8章 Linux的文件管理(三)
  2. Spark将dataframe存为csv文件
  3. 2012广电事件大盘点
  4. GPUImage美颜视频录制
  5. 沙盒sandboxie的使用
  6. 新导电子围栏在化工厂中的应用
  7. Python中self的解释
  8. 第十四届蓝桥杯模拟赛(第一期)——C语言版
  9. Pygame 官方文档 - Tutorials - Surfarray模块介绍(Surfarray Introduction)
  10. 姐弟之情适合发朋友圈的句子