数据库常用命令

1、登录

  • 进入数据库,在win系统下,打开cmd,切换用户权限,进入root:
  • 沒权限,用root登录:
mysql -uroot
  • 如果root有密码:
mysql -uroot -p 

2、数据库创建

  • 查询所有数据库:
show databases;
  • 创建数据库:
create database  <数据库名>;
  • 删除数据库:
drop database  <数据库名>;
  • 进入数据库:
use  <数据库名>;

3、数据表的操作

1)查询数据库下表:

show tables;

2)创建表1:

create table student(id int(4) primary key,name char(20));
  • 注释: id为表的第一列;
  • int数字类型;
  • primary key主键的意思,列不能重复。
  • Name为表的第二列名字。
  • char:类型;

创建表2:

create table score(id int(4) not null,class int(2));
注释: not null字段不能为空。

创建表3:

create table student1(id int(4) not null,name char(20));

Field (列名),Type(字段类型),null(是否为空),key(主键)

3)查看表结构:

describe  student;    或      desc  student; 

4)修改表名:

alter table <表名> rename <表名>;

5)删除表:

drop table <表名>; 

6)修改表字段信息:

alter table student change id id int(20);

7)增加表字段信息:

alter table student1 add class int(4) not null after id; 

8)删除一个表字段:

alter table student1 drop number;

4、表数据的增删查改

提示:在数据库导入表时,要修改列的字段类型并设置主键;

主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列

1) 表数据新增格式:

insert into 表格名(列名) values(值)

先导入student和score表,表为Excel,可以自己编写。

例子:

mysql> insert into student(id,class,number,name) values(81,4,19,'stu81');

mysql> insert into student(id,class,number) values(82,4,20);

mysql> insert into student values(83,4,21,'stu83');

mysql> alter table student change id id int(2) auto_increment;

注释:auto_increment以1为单位自增长的意思;

mysql> insert into student(class,number,name) values(4,22,'stu84');

mysql> alter table score change id id int(4) auto_increment;

注释:auto_increment自增长的意思。+1。输入该命令,表格会在新输入自动新增长新的一行,id也会成自增。

mysql> insert into score(class,number,maths,chinese,english) values(4,19,80,78,98);

mysql> insert into score(class,number,maths,chinese,english) values(4,20,98,88,68);

mysql> insert into score(class,number,maths,chinese,english) values(4,21,91,83,78);

mysql> insert into score(class,number,maths,chinese,english) values(4,22,67,83,88);

2) 查询表数据格式:

select  *  from <表名>  where

注释:语句以逗号做分隔,*通配符,select是展示的意思,where是条件;

例子: 查询学生信息表中所有信息:select * from student;

      查询成绩表中,列id,class,chinese的信息:select id,class,chinese from score;

3)表数据排序操作:

升序:order by         降序:升序语句末尾加 desc

例子:查询成绩表中,列id,chinese的信息并且以列chinese排序

select id,chinese from score order by chinese;(升序)

select id,chinese from score order by chinese desc;(降序)

4)表数据查询操作:

(1)查询1班与2班的成绩信息:
mysql> select * from score where class="1" or class="2";
(2)查询语文为77并且数学为88的成绩信息:

mysql> select * from score where chinese=77 and maths=88;  
(3)查询1,2,3班的成绩信息:
mysql> select * from score where class in (1,2,3); 查询不为4班的成绩信息:
mysql> select * from score where class not in
(4)查询不为4班的成绩信息:
mysql> select * from score where class !=4; 注释: !在数据库里面为否定的意思:
(5) 查询1班到3班的成绩信息:
mysql> select * from score where class between 1 and 3; 注释: between:在```之间,中间的意思:
(6) 查询不为3班与4班的成绩信息:
mysql> select * from score where class not in (3,4);
(7)查询语文成绩大于等于80小于等于90的成绩信息
mysql> select * from score where chinese>=80 and chinese<=90;
(8) 统计成绩表的总数:
mysql> select count(*) from score;
(9) 按照英语去重,显示英语成绩信息:
mysql> select distinct English from score;
注释: distinct 去除重复的意思;
(10) 显示4到7行的数据:mysql> select * from score limit 3,4;    

注释:数据库数据排列:0,1,2,3;  3显示第4行; 4,5,6,7共有4行;   3,4 ;  

3表示第4行,4表示从第3行开始到第7行,共有4行;
(11) 按chinese排序,显示4,5行数据:
mysql> select * from score order by chinese limit 3,2;
(12) 查询出学生姓名为stu10的学生信息:mysql> select * from student where name='stu10';

注释:只要不是数字,有汉字数字字母多种组成的形式都要加单引号,表示字符串。
(13) 查询出学生姓名为stu10或者stu15的学生信息: 

mysql> select * from student where name in ('stu10','stu15');
(14) 分组查询每个班的人数:
mysql> select class,count(*) from student group by class; 

4、作业:

1,查询4班的成绩信息:
select * from score where class="4";
2,查询4班,语文成绩大于80小于90的成绩信息:

select * from score where class in (4) and chinese>80 and chinese<90;
3,查询学生表中5到10行的数据:
select * from student limit 4,6;
4,显示3班语文成绩为90,数学成绩为68,的class与number信息,:

select class, number from score  where class="3"  and  chinese=90 and  maths=68;
5,查询出4班成绩并且按语文成绩倒序排序:

select * from score where class="4" order by chinese desc;
6,查询2班与3班,语文成绩与数学成绩都大于80的class与number信息:

select class, number from score where class in (2,3) and  chinese>80 and maths>88;

Mysql教程:(一)数据库常用基础命令的更多相关文章

  1. MySQL数据库入门常用基础命令

    MySQL数据库入门———常用基础命令      数据——公司的生命线,因此在大多数的互联网公司,都在使用开源的数据库产品,MySQL也因此关注度与使用率非常的高,所以做为运维的屌丝们,掌握它的一些基 ...

  2. Linux常用基础命令整理:关机命令、查看目录下文件命令等

    Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...

  3. 【转】SQL Server、Oracle、MySQL和Vertica数据库常用函数对比

    SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 1. 绝对值 S:select abs(-1) valu ...

  4. CentOS常用基础命令大全

    这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1 ...

  5. Docker 使用笔记-常用基础命令

    常用基础命令 环境:Linux Ubuntu 1.查看docker信息 docker version | docker info 2.启动docker服务 sudo systemctl start d ...

  6. Vertica的这些事(二)——SQL-Server、Oracle、MySQL和Vertica数据库常用函数对比

    SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 绝对值 S:select abs(-1) value O ...

  7. Linux常用基础命令(二)

    Linux常用基础命令 一.-ls--列表显示目录内容 二.-alias--设置别名 三.-du--统计目录及文件空间占用情况 四.-mkdir--创建新目录 五.-touch--创建空文件 六.-l ...

  8. MySQL数据库入门———常用基础命令

    mysql 连接数据库命令: MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格) mysql -h localhost -u root -p ...

  9. Mysql数据库常用的命令 数据备份 恢复 远程

    远程数据库 格式: mysql -h主机地址 -u用户名 -p用户密码数据库 mysql -h 42.51.150.68 -u yang -p discuz mysql设置密码 mysql>us ...

随机推荐

  1. PKI及SSL协议分析PKI及SSL协议分析

    任务一:搭建CA服务器 本任务初步了解CA服务器的原理和配置过程.操作都在CA服务器上. 1.远程桌面方式登录到CA服务器,在CMD下查看本机IP地址: 2.安装证书服务 依次点击:"开始& ...

  2. php 设计模式 --适配器

    1,目标:实现一个不同的类不同方法,符合一定的规范: 规范类 <?php interface Iplay{ function Attack(); function Defence(); } cl ...

  3. mysql8 navicat远程链接失败

    原因:mysql 8加密规则问题 更改加密规则: ALTER USER 'ycc'@'%' IDENTIFIED BY 'you password' PASSWORD EXPIRE NEVER; 修改 ...

  4. CF25E-Test【AC自动机,bfs】

    正题 题目链接:https://www.luogu.com.cn/problem/CF25E 题目大意 给出三个串,然后求一个最短的串包含这三个串. \(1\leq |s_1|,|s_2|,|s_3| ...

  5. P6097-[模板]子集卷积

    正题 题目链接:https://www.luogu.com.cn/problem/P6097 题目大意 长度为\(2^n\)的序列\(a,b\)求一个\(c\)满足 \[c_k=\sum_{i|j=k ...

  6. 联表多字段update更新语句

    前言 最近需要写联表多字段update更新语句,发现不同的数据库,SQL语法也不一样,正好我这里有MySQL.Oracle.PgSQL三种数据库环境,分别练习.实操这三种数据库的联表update语句 ...

  7. IIS部署WCF详细教程

    前言: 前段时间接手了公司一个十几年前的老项目,该项目对外提供的服务使用的是WCF进行通信的.因为需要其他项目需要频繁的使用该WCF服务,所以我决定把这个WCF部署到IIS中避免每次调试运行查看效果. ...

  8. C++学习 1 数组

    一维数组: 定义:1.数据类型 数组名 [ 数组长度 ]: int arr [5];//赋值 arr[0]=10; arr[1]=20; arr[2]=30; arr[3]=40; arr[4]=50 ...

  9. Miller-Rabin and Pollard-Rho

    实话实说,我自学(肝)了两天才学会这两个随机算法 记录: Miller-Rabin 她是一个素数判定的算法. 首先需要知道费马小定理 \[a^{p-1}\equiv1\pmod{p}\quad p\i ...

  10. bzoj2064分裂(dp)

    题目大意: 给定一个初始集合和目标集合,有两种操作:1.合并集合中的两个元素,新元素为两个元素之和 2.分裂集合中的一个元素,得到的两个新元素之和等于原先的元素.要求用最小步数使初始集合变为目标集合, ...