MariaDB基础知识和基础命令的使用 |
您所在的位置:网站首页 › mariadb安装命令 › MariaDB基础知识和基础命令的使用 |
一、目标 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表 MariaDB [kahnDB]> create table student( #创建表student -> num int(10) not null unique primary key, #创建编号,设置为主键,不能为空,唯一 -> name varchar(20) not null, #创建字段姓名,varchar20长度,非空 -> sex varchar(4) not null, #创建字段性别,varchar4长度,非空 -> birthday datetime, #创建字段出生年月,数据类型为datetime -> address varchar(50) #创建家庭住址字段,数据类型为varchar长度50 -> ); #最后用);包住,回车创建完毕。Query OK, 0 rows affected (0.03 sec)6.查看当前数据库的所有表信息:MariaDB [kahnDB]> show tables; 7.查看某表的数据结构:MariaDB [kahnDB]> desc student; 8.再创建另外一张表grade: MariaDB [kahnDB]> MariaDB [kahnDB]> create table grade( #创建表grade -> id int(10) not null unique primary key auto_increment, #创建字段id,int10类型,非空唯一,主键,自增长 -> course varchar(10) not null, #创建字段course,varchar类型长度10,非空 -> s_num int(10) not null, #创建字段,int10,非空 -> grade varchar(4), -> constraint grade_fk foreign key(s_num) references student(num) #创建外键约束名为grade_fk,本表外键约束字段为s_num对应的外部表是student的num字段。 -> );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 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; 写一篇要几个小时,博客写着确实不容易,希望得到你的支持。 (小手一抖点个赞或随意发个小红包支持一下博主写更多更好的博客) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |