【MySQL】MySQL基础操作语句
mysql基础操作语句,包括数据库的增、删、切换,以及表的增、删、改、查、复制。
创建数据库
mysql> create database tem;

使用数据库
mysql> use tem;

删除数据库
mysql> drop database drop_test;

创建数据表
- student表
mysql> CREATE TABLE student (
-> id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
-> name VARCHAR(20) NOT NULL ,
-> sex VARCHAR(4) ,
-> birth YEAR,
-> department VARCHAR(20) ,
-> address VARCHAR(50)
-> );

- 创建score表
mysql> 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)
-> );

插入表数据
- student表
mysql> INSERT INTO student VALUES( 001,'RooneyMara', 'F',1985,'Psychology', 'American');
mysql> INSERT INTO student VALUES( 002,'ChrisHemsworth', 'M',1983,'CS', 'Australia');
mysql> INSERT INTO student VALUES( 003,'EllenPage', 'F',1987,'Music', 'Canada');
mysql> INSERT INTO student VALUES( 004,'TomHolland', 'M',1996,'CS', 'England');
mysql> INSERT INTO student VALUES( 005,'ScarlettJohansson', 'F',1984,'Music', 'American');
mysql> INSERT INTO student VALUES( 006,'BenedictCumberbatch','M',1976,'Psychology', 'England');

- score表
mysql> INSERT INTO score VALUES(NULL,001, 'Psychology',98);
mysql> INSERT INTO score VALUES(NULL,001, 'Music', 80);
mysql> INSERT INTO score VALUES(NULL,002, 'Psychology',65);
mysql> INSERT INTO score VALUES(NULL,002, 'CS',88);
mysql> INSERT INTO score VALUES(NULL,003, 'CS',95);
mysql> INSERT INTO score VALUES(NULL,004, 'Psychology',70);
mysql> INSERT INTO score VALUES(NULL,004, 'Music',92);
mysql> INSERT INTO score VALUES(NULL,005, 'Music',94);
mysql> INSERT INTO score VALUES(NULL,006, 'Psychology',90);
mysql> INSERT INTO score VALUES(NULL,006, 'Music',85);

查询表数据
查询student表中的全部数据
mysql> select * from student;

查询student表的第3条到5条记录
mysql> select * from student limit 2,3;

查询student表的所有学生的id、name和department信息
mysql> select id,name,department from student;

查询student表中department为CS和Music的学生信息
mysql> select * from student where department in ('CS','Music');

查询student表中年龄为23~32岁的学生信息
mysql> select id,name,sex,2019-birth as age,department,address
-> from student
-> where 2019-birth between 23 and 32;

查询student表中每个department有多少人
mysql> select department,count(id) from student group by department;

查询score表中每个科目(c_name)的最高分(grade)
mysql> select c_name,max(grade) from score group by c_name;

查询‘RooneyMara’的科目(c_name)和成绩(grade)
mysql> select c_name,grade from score
-> where stu_id=(select id from student where name='RooneyMara');

查询所有学生的信息和考试信息(用连接的方式)
mysql> select student.id,name,sex,birth,department,address,c_name,grade
-> from student,score
-> where student.id=score.stu_id;

计算每个学生的总成绩
mysql> select student.id,name,sum(grade) from student,score
-> where student.id=score.stu_id
-> group by id;

计算每个考试科目的平均成绩
mysql> select c_name,avg(grade) from score group by c_name;

查询Psychology成绩低于95的学生信息
mysql> select * from student
-> where id in (
-> select stu_id from score
-> where c_name='Psychology' and grade<95);

查询同时参加Psychology和CS考试的学生的信息
方法1:
mysql> select * from student
-> where id =any
-> (select stu_id from score where stu_id in
-> (select stu_id from score where c_name='Psychology')
-> and c_name='CS');

方法2:
mysql> select a.* from student a,score b,score c
-> where a.id=b.stu_id
-> and b.c_name='Psychology'
-> and a.id=c.stu_id
-> and c.c_name='CS';

将Psychology考试成绩按从高到低进行排序
mysql> select stu_id ,grade from score where c_name='Psychology'
-> order by grade desc;

查询student表和score表中学生的学号(id),然后合并查询结果
mysql> select id from student union select stu_id from score;

查询name中开头字母是“R”或者“E”的同学的姓名(name)、院系(department)和考试科目(c_name)及成绩(grade)
mysql> select student.id,name,sex,birth,department,address,c_name,grade
-> from student,score
-> where (name like 'R%' or name like 'E%')
-> and student.id=score.stu_id;

查询address都是England的学生的姓名(name)、年龄、院系(department)和考试科目(c_name)及成绩(grade)
mysql> select student.id,name,sex,2019-birth as age,department,address,c_name,grade
-> from student,score
-> where address='England'
-> and student.id=score.stu_id;

删除表数据
mysql> delete from score where id=10;

更新表数据
mysql> update score set c_name='CS' where id=11;

复制表格式
1.查看数据表的完整结构
mysql> show create table student;

2. 修改数据表名,并执行SQL语句
mysql> CREATE TABLE `clone_student` (
-> `id` int(10) NOT NULL,
-> `name` varchar(20) NOT NULL,
-> `sex` varchar(4) DEFAULT NULL,
-> `birth` year(4) DEFAULT NULL,
-> `department` varchar(20) DEFAULT NULL,
-> `address` varchar(50) DEFAULT NULL,
-> PRIMARY KEY (`id`),
-> UNIQUE KEY `id` (`id`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

复制表数据
mysql> insert into clone_student(id,name,sex,birth,department,address)
-> select id,name,sex,birth,department,address from student;

【MySQL】MySQL基础操作语句的更多相关文章
- MySQL数据库基础操作语句
SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,分为3种类型: 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER 2.DM ...
- 浅谈“Mysql”的基础操作语句
/*-------------------------------------------读者可以补充内容到下面-------------------------------------------- ...
- Mysql(Mariadb) 基础操作语句 (持续更新)
基础SQL语句,记录以备查阅.(在HeiDiSql中执行) # 创建数据库 Create Database If Not Exists VerifyIdear Character Set UTF8; ...
- mysql使用基础 sql语句(一)
csdn博文地址:mysql使用基础 sql语句(一) 点击进入 命令行输入mysql -u root -p,回车再输入密码,进入mysql. 终端命令以分号作为一条语句的结束,可分为多行输入,只需 ...
- Mysql数据库基础操作
Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...
- Mysql常用基础操作(备忘录)
常常忘记mysql的一些命令行操作,甚至于说,比较复杂的sql格式记不住或忘记了,也可能根本不会考虑去记,因此,做一下汇总,当下次出现恍惚时不至于去百度挨个找,有时就是记不起来,但是只要给点药引子,立 ...
- MySQL数据库----基础操作
一.知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list ...
- MySQL 之基础操作及增删改查等
一:MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat,DBeaver等 方式二: 通过在命令行敲命令来操作 SQL ( Structure query language ...
- Mysql学习---基础操作学习2
基本数据类型 Mysql基本数据类型:二进制,数值[整数,小数].字符串[定长,变长]. 二进制数据.时间和枚举集合 bit[(M)] 二进制位(101001),m表示二进制位的长度(1-64),默认 ...
随机推荐
- Centos 使用yum安装MongoDB 4.0
1.配置MongoDB的yum源 创建yum源文件: #cd /etc/yum.repos.d #vim mongodb-org-4.0.repo 添加以下内容:(我们这里使用阿里云的源) [mngo ...
- MariaDB多实例的安装配置
初始化数据库: mysql_install_db --basedir=/var/lib/mysql --datadir=/data/3306/data --user=mysql mysql_inst ...
- 仿 ELEMENTUI 实现一个简单的 Form 表单
原文:仿 ElmentUI 实现一个 Form 表单 一.目标 ElementUI 中 Form 组件主要有以下 功能 / 模块: Form FormItem Input 表单验证 在这套组件中,有 ...
- HTML一
什么是前端: 前端,也称web前端对于网站来说,通常是指网站的前台部分,通俗点就是用户可以看到的部分, 浏览器.APP.应用程序的界面展现和用户交互就是前端 前端要学习那些技术:html+css+ja ...
- linux服务器上,yum、rpm、源码编译安装及卸载
源码的编译安装及卸载 源码安装三部曲 1.生成makefile编译文件./configure 一般安装包下面都有一个configure文件,用来生成makefile编译文件常用的参数: --prefi ...
- MySQL基于GTIDs的MySQL Replication
MySQL M-S GTID 基于GTIDs的MySQL Replication 什么是GTIDs以及有什么特定? 1.GTIDs(Global transaction identifiers)全局事 ...
- x86汇编语言实践(3)
0 写在前面 为了更深入的了解程序的实现原理,近期我学习了IBM-PC相关原理,并手工编写了一些x86汇编程序. 在2017年的计算机组成原理中,曾对MIPS体系结构及其汇编语言有过一定的了解,考虑到 ...
- Gitlab安装简明文档
1.关于Gitlab CE / GitLab EE版本的区别:Gitlab CE(Community Edition):Gitlab社区版,可以免费试用,无官方支持.GitLab EE(Enterpr ...
- <知识整理>树--堆及其应用
预备知识: 完全二叉树的定义:一个深度为k数的二叉树(设根节点的深度为1),若二叉树深度从1到k-1层都是满的,而第k层的节点都集中在左边(即第k层不存在两节点之间有空缺),那么此数就被叫做完全二叉树 ...
- 什么是MIPI
随着客户要求手机摄像头像素越来越高同时要求高的传输速度传统的并口传输越来越受到挑战.提高并口传输的输出时钟是一个办法但会导致系统的EMC设计变得越来困难,增加传输线的位数是但是这又不符合小型化 ...