zoukankan      html  css  js  c++  java
  • MYSQL之基本操作

    数据库操作

    一、查看所有的数据库

    show databases;

    二、创建数据库

    create database userinfo;

    说明:

    创建了一个名为userinfo的数据库

    三、使用数据库

    use userinfo;

    四、显示数据库中的所有表

    show tables

    数据表操作

    一、创建表

    create table tab1(nid int, name char(10));

    说明:

    创建了列名为nid,类型为int类型及列名为name,类型为char,字符长度为10的,名为tb1的表。

    实例:

    create table tb2(
        nid int not null auto_increment,
        name varchar(255),
        pwd varchar(255),
        primary key(nid)
    ) engine=innodb default charset=utf8;

    二、删除表

    drop table 表名

    三、清空表

    1、delete from tb1

    这个清空只会将表中的内容清空,设置的 比如,自增效果;是不会清除的,如果清空后再增加数据,数据会接着上次清空的序号开始增加。

    2、truncate table tb1

    清空内容,也会将效果清除,比如,自增。

    四、修改表

    添加列:alter table 表名 add 列名 类型
    删除列:alter table 表名 drop column 列名
    修改列:
            alter table 表名 modify column 列名 类型;  -- 类型
            alter table 表名 change 原列名 新列名 类型; -- 列名,类型
      
    添加主键:
            alter table 表名 add primary key(列名);
    删除主键:
            alter table 表名 drop primary key;
            alter table 表名  modify  列名 int, drop primary key;
      
    添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
    删除外键:alter table 表名 drop foreign key 外键名称
      
    修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
    删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

    表内容操作

    一、对表插入内容

    insert into tb1 (nid,name,pws) values(2,'haha','123');
    • 插入多个内容:
    insert into tb1 (nid,name,pws) values(3,'haha','123'),(4,'xxx','113'),(5,'sss','666');

    说明:

    前面在创建表的时候,nid为主键,而且自增,所以增加内容的时候,nid不能重复,不然增加不进去。

    二、删除表的内容

    delete from 表
    delete from 表 where id=1 and name='xxx'

    三、修改表的内容

    update 表 set name = 'xxx' where id>1

    四、查看表的内容

    select * from tb1;
    • 加入判断条件的查看
    select * from 表
    select * from 表 where id > 1
    select nid,name,gender as gg from 表 where id > 1 

    注意:

    操作SQL方法的时候,默认是以分号“ ; ”,表示一段语句的结束;因此我们执行语句的时候,一条完整的语句结束时必须加结束符号分号,不然运行会不成功。

    五、其他

    1、条件

    select * from 表 where id > 1 and name != 'xxx' and num = 12;
     
    select * from 表 where id between 5 and 16; 
     
    select * from 表 where id in (11,22,33)
    select * from 表 where id not in (11,22,33)
    select * from 表 where id in (select nid from 表)

    2、通配符和模糊匹配

    select * from 表 where name like 'ale%' - ale开头的所有(多个字符串)
    
    select * from 表 where name like 'ale_' - ale开头的所有(一个字符)

    3、限制

    select * from 表 limit 5;            - 前5行
    select * from 表 limit 4,5;          - 从第4行开始的5行
    select * from 表 limit 5 offset 4    - 从第4行开始的5行

    4、排序

    select * from 表 order by 列 asc              - 根据 “列” 从小到大排列
    select * from 表 order by 列 desc             - 根据 “列” 从大到小排列
    select * from 表 order by 列1 desc,列2 asc    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序

    说明:

    • 从大到小 desc
    • 从小到大  asc

    5、分组

    select num from 表 group by num
    select num,nid from 表 group by num,nid
    select num,nid from 表  where nid > 10 group by num,nid order by nid desc
    select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid
     
    select num from 表 group by num having max(id) > 10 –获取id大于10中最大的id
    

    特别的:

    group by 必须在where之后,order by之前

    6、组合

    组合,自动处理重合

    select nickname
    from A
    union
    select name
    from B

    组合,不处理重合

    select nickname
    from A
    union all
    select name
    from B
  • 相关阅读:
    HDU 2073 无限的路
    HDU 2080 夹角有多大II
    if
    HDU 2094 产生冠军
    HDU 2076 夹角有多大(题目已修改,注意读题)
    HDU 2086 A1 = ?
    HDU 2069 Coin Change
    HDU 2095 find your present (2)
    android常用开发工具的用法
    android安装前期遇到的问题
  • 原文地址:https://www.cnblogs.com/jayafs/p/6171874.html
Copyright © 2011-2022 走看看