一、数据库的基本操作

  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. Linux存储在线管理(一)FC磁盘设备管理

    由 Jun_Tan 在 2013-1-28 上午12:08 上创建,最后由 Jun_Tan 在 2013-1-28 上午12:13 上修改 版本 1 Linux存储在线管理(一)FC磁盘设备管理 转载 ...

  2. The Preliminary Contest for ICPC China Nanchang National Invitational

    目录 Contest Info Solutions A. PERFECT NUMBER PROBLEM D. Match Stick Game G. tsy's number H. Coloring ...

  3. P4556 雨天的尾巴 线段树合并

    使用线段树合并,每个节点维护一棵权值线段树,下标为救济粮种类,区间维护数量最多的救济粮编号(下标).所以每个节点答案即为\(tre[rot[x]]\). 然后运用树上点的差分思想,对于分发路径\(u, ...

  4. dbcp_c3p0连接mysql8.0.13

    背景 学习数据库的使用,上次没有记录,现在都回忆不起来了,所以这次重新学的时候顺便记录下. 配置环境 win10 jdk11 idea mysql8.0.13 DBCP连接使用 用配置文件目前我连接不 ...

  5. liunx系统下crontab定时启动Scrapy爬虫程序

    定时启动爬虫 # 查看命令得绝对路径 # which scrapy # cd到爬虫得项目目录下 + scrapy命令得绝对路径 + 启动命令 */5 * * * * cd /opt/mafengwo/ ...

  6. centos7 安装 Mysql 5.7.27,详细完整教程

    1. 下载 MySQL yum包 wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm   2.安装MySQL源 ...

  7. Js 之生成二维码插件(jquery.qrcode.js)

    一.下载 链接:https://pan.baidu.com/s/1cMjaCYQ_buZNT5XRRjuNTA提取码:myqm 二.效果图 三.代码 <!DOCTYPE html> < ...

  8. Synchronized 原理

    1.同步代码块: 反编译结果: monitorenter : 每个对象有一个监视器锁(monitor).当monitor被占用时就会处于锁定状态,线程执行monitorenter指令时尝试获取moni ...

  9. CodeForces - 1183E Subsequences (easy version) (字符串bfs)

    The only difference between the easy and the hard versions is constraints. A subsequence is a string ...

  10. 6.linux 用户和权限的建立

    一.用户和权限的建立       su  用户名       切换用户,如果是root用户切换其他用户,不需要输入密码.     exit  可以切换回上一个用户       linux 操作系统用户 ...