一、数据库的基本操作

  1. 查看当前所有存在的数据库

    show databases;  //mysql 中不区分大小写。(databank 是之前创建的)

  2. 创建数据库
    create database database_name;  //database_name 为新建的数据库的名称,该名称不能与已经存在的数据库重名

    如:创建一个名为 test_db 的数据库

    查看数据库 test_db 的定义:

    show create database test_db\G    //将会显示数据库的创建信息

  3. 使用数据库
    use database_name;

    如:使用数据库 test_db

  4. 删除数据库
    drop database database_name;

    如:删除数据库 test_db

二、数据表的基本操作(以 stu 表为例)

  1. 创建数据表

    create table stu(
    id int(11) primary key auto_increment, //主键 id, id 值自动增加
    name varchar(22) not null, //非空
    salary float default 1000.00); //默认值为 1000.00
  2. 查看数据表结构
    desc table_name;  //describle table_name;  查看表的基本结构

    show create table table_name\G        //查看表的详细结构

  3. 修改数据表

    alter table table_oldname rename [to] table_newname;  //修改表名。    to 为可选参数,使用与否均不影响结果

    alter table table_name modify <字段名> <数据类型>;  //修改字段的数据类型。    '表名' 是当前所在表, '字段名' 是目标修改字段, '数据类型' 是新数据类型

    修改字段名

    alter table table_name change <旧字段名> <新字段名> <新数据类型>;  //修改字段名。    如不需要修改字段的数据类型,须将新数据类型设置成和原来一样。

    添加字段

    alter table table_name add <新字段名> <数据类型> [约束条件] [first | after 已存在的字段名];  //添加字段
    
    如:
    alter table staff add address varchar(55); //无约束条件 alter table staff add address varchar(55) not null; //有约束条件(要求非空) alter table staff add address varchar(55) first; //成为表的第一列 alter table staff add address varchar(55) after name; //在表的某一列之后

    删除字段

    alter table table_name drop <字段名>;  //删除字段

    修改字段的排列位置

    alter table table_name modify <字段1> <数据类型> first | after <字段2>;  //修改字段的排列位置。    '数据类型' 是指 '字段1' 的数据类型
    
    如:
    alter table staff modify adress varchar(55) first; //修改字段为表的第一个字段 alter table staff modify adress varchar(55) after id; // 'adress' 字段将移至表的 'id' 字段之后
  4. 删除数据表
    drop table table_name;  //无关联的表

三、插入、更新与删除数据

  1. 表中插入数据

    insert into table_name (column_list) values (value_list);
    
    如:
    //建表
    create table staff(
    id int(11) primary key auto_increment,
    name varchar(22) not null,
    salary float default 1000); //为所有字段插入数据
    insert into staff(id,name,salary)
    values(1,'Joan',2000),values(2,'Qwe',900);

    //为表的指定字段插入数据
    insert into staff(id,name)
    values(3,'Wer'),(4,'andy'); //salary 取默认值 insert into staff(name,salary)
    values('Tin',2048),('Jimy',1024); //id 值自动增加
  2. 复制表

    create table table_new select * from table_old;    //全部复制(表的结构会改变)
    
    create table table_new select (column_list) from table_old;    //部分复制
    
    如:
    create table newstaff select * from staff; create table newstaff select id,salary from staff;
  3. 表中删除数据

    delete from table_name [where <condition>];    //删除指定记录
    
    delete from table_name;    //删除表中所有记录
  4. 表中更新数据
    update table_name
    set column_name1=values1,... [where <condition>]; //修改指定字段的值 如:
    update staff set salary=2048 where id=9; update staff set salary=1024 where id between 5 and 9;
  5. 表中查询数据

    单表查询

    //单表查询
    
    select * from staff;    //(*)查询所有字段数据
    
    select 字段名1,字段名2,...字段名n from table_name;    //查询指定字段数据(某几列)
    
    select 字段名1,字段名2,...字段名n from table_name where 条件;    //查询指定记录

    where 条件判断符

    操作符

    说明

    =

    相等

    <> , !=

    不相等

    <

    小于

    <=

    小于或者等于

    >

    大于

    >=

    大于或者等于

    between

    位于两者之间

    //带 in 关键字的查询
    
    select * from staff where id in(1,2,8);    //id=1、id=2、id=8
    
    select * from staff where id not in(1,2,8);
    
    //带 between and 的范围查询
    
    select * from staff where id between 1 and 8;    //id-->1至8 的记录
    
    select * from staff where id not between 1 and 8;    //id-->1至8 以外的记录
    
    //带 like 的字符匹配查询
    
    select * from staff where name like 't%';    //查询所有名字以 t 开头的记录
    
    select * from staff where name like '%t%';    //查询所有名字中包括 t 的记录
    
    select * from staff where name like 't%y';     //查询所有名字以 t 开头并以 y 结尾的记录
    
    select * from staff where name like '___y';     //查询所有名字以 y 结尾并且前面只有三个字符的记录
    
    //查询空值
    
    select * from staff where salary is null;    //查询字段 salary 的值为空的记录
    
    //带 and、or 的多条件查询
    
    select * from staff where id=1 and salary>=1000;
    
    //查询结果不重复
    
    select distinct 字段名 from 表名;    //distinct 关键字可以消除重复的记录值

    对查询结果排序

    //order by 默认情况下,升序排
    
    select * from staff order by salary [asc];
    
    select * from staff order by salary desc;    //降序排
    
    //group by  该关键字常和集合函数一起用,如: MAX()、MIN()、COUNT()、SUM()、AVG()
    
    [group by 字段] [having <条件表达式>]    //基本语法格式
    
    如:根据 salary 对 staff 表中的数据进行分组,并显示人员数大于等于1的分组信息
    select salary,group_concat(name) as names from staff
    group by salary having count(name)>=; select salary,count(*) as total_num from staff
    group by salary with rollup; //with rollup 关键字用来统计记录数量 select * from staff group by salary,name; //多字段分组 //group by + order by select name, sum(*salary) as salary_total from staff
    group by salary having sum(*salary)>
    order by salary_total; //使用 limit 限制查询结果的数量 limit [位置偏移量,] 行数 //基本语法格式 select * from staff limit ; //从第一行开始显示,显示共四行
    select * from staff limit ,; //从第5行开始显示,显示共四行

    使用集合函数查询

    // count() 函数
    
    count(*) 计算表中行的总数,不管某列值是否为空
    count(字段名) 计算指定列下总的行数,空值的行不被记录 select count(*) as total_num from staff;
    select count(salary) as salary_num from staff; // sum()函数。计算时忽略值为 NULL 的行 select sum(salary) as salary_total from staff; // avg()函数 select avg(salary) as avg_salary from staff; // max()函数、min()函数。以 max 为例 select max(salary) as max_salary from staff;
    select name,max(salary) as max_salary from staff;
  6. qqqqqqq

  

mysql--简单操作的更多相关文章

  1. python(pymysql)之mysql简单操作

    一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...

  2. Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)

    小弟今天记录一下在Linux系统下面的MySQL的简单使用,如下: 服务启动与关闭 启动与关闭 查看版本 环境 Linux版本:centeros 6.6(下面演示),Ubuntu 12.04(参见文章 ...

  3. mysql简单操作一

    MySQL的一些简单管理: 启动MySQL服务: sudo start mysql 停止MySQL服务: sudo stop mysql 修改 MySQL 的管理员密码: sudo mysqladmi ...

  4. mysql简单操作

    1,mysql 唤醒数据库,mysql -uroot -p11221 2,创建一个数据库: CREATE DATABASE mldn CHARACTER SET UTF8; 也可以写成小写的:crea ...

  5. mysql简单操作(实时更新)

    从表中删除某条记录: delete from table_name where xx=xxxx; 创建数据库(注意不同系统对大小写的敏感性): create database xxx; 查看数据库列表 ...

  6. Linux上SQL及MYSQL简单操作

    Linux上检查MYSQL是否安装: $ sudo service mysql start Ubuntu Linux安装配置MYSQL: $ sudo apt-get install mysql-se ...

  7. python3 的 mysql 简单操作

    一.python 提供的 db 接口 pymysql 两个基本对象: connection.cursor 连接示例 # connect_demo.py import pymysql db = pymy ...

  8. Node js MySQL简单操作

    //win7环境下node要先安装MySQL的相关组件(非安装MySQL数据库),在cmd命令行进入node项目目录后执行以下语句 //npm install mysql var mysql = re ...

  9. mySQL简单操作(三)

    1.事务 (1)ACID 原子性(不可分割性)automicity 一致性 consistency 隔离性 isolation 持久性 durability (2)事务控制语句 begin/start ...

  10. mySQL简单操作(二)

    1.like子句 [where clause like '%com'] '%' '_' 2.正则 3.union操作符 用于连接多个select语句,[distinct]删除重复数据 select c ...

随机推荐

  1. Python2.7学习

    网上很多代码都不适用于python3版本,所以还是转回版本2来学习了 install 安装模块特别简单 E:\01_SOFT\Python27\python  -m easy_install sunb ...

  2. 在SpringMVC中操作Session、Request、Response对象

    示例 @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper user ...

  3. P1613 跑路——倍增思想,floyd

    https://www.luogu.org/problemnew/show/P1613 他有一个跑路机器,每次只能跑2k   (单位)路程,每相邻两个点的路程为1,也就是说如果连边1——>2—— ...

  4. 比Excel还简单的SQL语句查询

    大家好,我是jacky朱元禄,很高兴继续跟大家分享<MySQL数据分析实战>系列课程,前面的课程jacky分享了数据层面增删改查中的增删改,下面的课程我们要说增删改查的这个查,jacky说 ...

  5. SDK评测

    这个作业属于哪个课程 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2019FZUSEZ/homework/10081 这个作业的目标 每个人发表一篇随笔, ...

  6. 3.linux 别名 查找 压缩与解压缩

    1.别名     alias  别名=‘定义命令内容’     alias grep=‘grep --color’       vim  ~/.bashrc     关掉终端再开一次!!!!才能生效 ...

  7. 监控zabbix 3.4.11异常通过邮件报警步骤

    监控的目的一个是可以查看历史状态,可以对比零晨和工作区间数据的对比,以便后期进行优化指导.还有一个是报警,总不能等到服务器出现异常了才去从头查是什么问题吧.所以这篇主要介绍报警中最基础的一个 配置邮件 ...

  8. 用Fiddler模拟低速网络环境(弱网)

    原文链接:http://caibaojian.com/fiddler.html 有时候宽频网路用习惯了… 在开发的过程就比较少去考虑最佳化的问题… 但当有人反应说「你的网页好慢」 甚至当网路速度慢,会 ...

  9. selinux 开启和关闭

    对于新手来说,linux的selinux困扰了一大批学员,开启后,导致文件权限修改不了等问题,下面就是关闭设置setlinux的方法 查看SELinux状态: 1./usr/sbin/sestatus ...

  10. 微信小程序里自定义组件,canvas组件没有效果

    methods: { /** * el:画圆的元素 * r:圆的半径 * w:圆的宽度 * 功能:画背景 */ drawCircleBg: function (el, r, w) { const ct ...