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

    mySQL
    =============================================
    DML;
    SELECT - 从数据库中提取数据
    UPDATE - 更新数据库中的数据
    DELETE - 从数据库中删除数据
    INSERT INTO - 向数据库中插入新数据

    DDL;
    CREATE DATABASE - 创建新数据库
    ALTER DATABASE - 修改数据库
    CREATE TABLE - 创建新表
    ALTER TABLE - 变更(改变)数据库表
    DROP TABLE - 删除表
    CREATE INDEX - 创建索引(搜索键)
    DROP INDEX - 删除索引


    操作符select
    ----------------------------------
    select * from table_name -全表扫描
    distinct -去掉重复项 select distinct * from table_name

    where子句
    where -有条件选择 select * from table_name where column_name='xx'
    and -且得关系(交集),连接条件 select * from table_name where column_name1='xx' and column_name2='xx1'
    or -或的关系(并集) select * from table_name where column_name1='xx' or column_name2='xx1'
    order by asc(可以不写) -对结果集排序。默认顺序排序。select * from table_name order by column_name
    order by desc -对结果集排序。逆序排序。select * from table_name order by column_name desc
    like -模式匹配(%定义通配符)。select * from table_name where column_name like'aa%';
    in -允许where子句中有多个值。select * from table_name where column_name in(value1,value2,...);
    between and -,获取闭区间数据(not表示补集),where子句中使用,select * from table_name where column_name between 'value1' and 'value2'

    别名
    select * from table_name as newName - 使用表别名(oracle不需要as)
    select column_name as newName from table_name as -使用列别名

    join多表关联:
    join(inner join) -内连接,返回两个表都有的,并集 。
    select * from table_name1 inner join table_name2 on table_name1.column_name=table_name2.column_name;
    left join -左连接,返回两个表都有的,还有左表有右表没有的,
    right join -右连接,返回两个表都有的,还有右表有左表没有的,
    full join -全连接,只要其中一个表有即可。

    独立集(只是a独有的部分) SELECT * FROM a left outer JOIN b ON a.id=b.id WHERE (b.id IS null)


    操作符insert into和update和delete
    ----------------------------------
    insert into table_name(column_name1) values(column_name1) -插入选择字段
    insert into table_name() values(column_name1) -插入全表
    update table_name set column_name='新值' where column_name='定位值' -更新数据
    delete from table_name where column_name='xx' -删除数据


    操作符union
    ----------------------------------
    union 合并两个或多个sql语句的结果集。不允许重复的值出现。
    union all ,允许重复的值出现。
    SELECT column_name(s) FROM table_name1
    UNION
    SELECT column_name(s) FROM table_name2


    操作符select into
    ----------------------------------
    select into 创建表的备份附件(oracle不能用)
    select * into new_tableName from old_tableName
    SELECT *
    INTO Persons IN 'Backup.mdb'
    FROM Persons
    oracle可以用:create table new_tableName as (select * from old_tableName)

    操作符create table
    ----------------------------------
    数据类型:
    char(10) 定长,查询快,浪费空间 最大2000字符
    varchar2(20) 变长,查询慢,节省空间 最大4000
    number
    number(5,2)五位数,2位有效小数
    number(5) 五位整数
    date 时间类型(日-月-年)(01-5月-05)
    timestamp 时间类型比date精确
    blob 二进制类型 图片声音

    约束:
    not null -非空约束,not null
    unique -唯一约束,unique,CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
    primark key -主键约束 ,primark key CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
    forein key -外键 ,Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
    check -检查约束 ,check (id>0)
    default -默认约束 ,default ‘xx’

    AUTO_INCREMENT -自动创建主键字段的值


    操作符create index
    ----------------------------------
    create index index_name on table_name (column_name)
    CREATE INDEX PersonIndex ON Person (LastName DESC) --降序索引
    drop index index_name

    操作符create view
    ----------------------------------
    create view view_name as SELECT column_name(s) FROM table_name WHERE condition
    drop view view_name

    操作符create database
    ----------------------------------
    create database db_name

    操作符drop
    ----------------------------------
    delete table table_name -删除数据,可以回滚
    truncate table table_name -清空数据(不可以回滚),不删除表结构
    drop table table_name -删除数据表(删除内容和定义,释放空间。)
    drop index index_name -删除索引
    drop view view _name -删除视图
    drop database db_name -删除数据库

    操作符alter
    ----------------------------------
    alter table table_name add column_name datatype -添加字段
    alter table table_name drop column column_name -删除字段
    alter table MYRESULTTABLE_201411170930 rename to MYRESULTTABLE;--修改表名


    操作符case
    ----------------------------------
    select case column_name
    when 'x1' then 'y1'
    when 'x2' then 'y2'
    else 'y3' end

    函数
    ----------------------------------
    avg() -平均值 select avg(column_name) from table_name
    count(column_name) -返回行数(null排除)
    count(distinct column_name) -返回行数(重复项和null排除)
    max() -返回列最大值
    min() -返回列最小值
    sum() - 返回数值列的总和
    sum(distinct) - 返回数值列的总和(去重)
    group by -按照指定列分组,select id ,avg(column_name) from table_name group by id

  • 相关阅读:
    Next.js文档自定义App、Document,getInitialProps翻译
    使用fetch进行数据请求时报json错误
    菜单制作:ul li横向排列
    Django Auth组件->扩展用户
    001.Django_Model.整理
    PyCharm中的django项目的引入
    Css3 里的弹性盒的比例关系
    vue的组件通讯 父传子 -- 子传父-- 兄弟组件的传值 vue的组件传值
    新手如何创建一个vue项目 ---vue---新手创建第一个项目
    如何自学计算机前端开发?精细的自学步骤是什么样的?
  • 原文地址:https://www.cnblogs.com/e-mc/p/4526065.html
Copyright © 2011-2022 走看看