zoukankan      html  css  js  c++  java
  • MySQL 基本使用

    数据库:

    CREATE DATABASE 名字;              //创建数据库

    SHOW DATABASES;                //查看所有数据库

    SHOW CREATE DATABASE bookG;        //查看创建好的数据库的定义

    DROP DATABASE IF EXISTS 名字;         //删除数据库

    USE 名字;                     //使用数据库

    引擎:

    SHOW ENGINES;                      //查看引擎

    SHOW VARIABLES LIKE 'storage_engine';     //查看默认引擎

    数据表:                   【使用前需要USE 数据库名;】 表名不区分大小写

    CREATE TABLE SS(id INT(11),nam VARCHAR(25)salary FLOAT);      //创建数据表

    SHOW TABLES;                       //查看数据表

    DESC SS;                           //查看表的结构

    SHOW COLUMNS FROM 表名 FROM 库名;                       //查看表的结构2

    SHOW CREATE TABLE 表名G;              //查看表的结构3

    ALTER TABLE 旧名 RENAME 新名;              //修改表名

    ALTER TABLE 表名 MODIFY 字段名 数据类型;             //修改字段的数据类型

    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;             //修改字段名

    ALTER TABLE 表名 ADD 新字段名 数据类型;             //添加字段

    ALTER TABLE 表名 ADD 新字段名 数据类型(约束条件) [FIRST | AFTER 已存在字段名]    //添加字段   放到第一个  或者已存在字段名之后

    ALTER TABLE xx ADD yy VARCHAR(12) not null;           //添加有完整性约束条件的字段

    ALTER TABLE 表名 DROP 字段名;         //删除字段

    ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRSE | AFTER 字段2;    //修改字段排列位置   数据类型为字段1的  

    ALTER TABLE 表名 ENGINE=更改后的引擎名;   //更改表的存储引擎

       #可以为每一张表选不同的存储引擎  但外键约束的表必须一致

    ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;     //删除表的外键约束

     

    #外键约束名,定义表时CONSTRAINT后的参数

    DROP TABLE IF EXISTS 1,表2....;      //删除没有关联的数据表

    ALTER TABLE 子表 DROP FOREIGN KEY 子表中的外键约束名;     //删除有关联的主表

    #无法直接删去父表   1.先删去子,再删父     2.取消外键约束,再删父表

    删除

    DELETE FROM 表名 WHERE 条件;

    DELETE FROM 表名;                    //删除所有记录

    TRUNCATE TABLE 表名;                   //直接删除表

     DROP TABLE 表名;                    //删除表

    更新

    UPDATE 表名

    SET 指定更新字段名1=更新值1,指定更新字段名2=更新值2

    WHERE  条件;

    举例:

    插入

    INSERT INTO 要插入数据的表名 (要插入数据的哪些列) VALUES (每个列对应插入的数据);

     

    上方

    id,name,age,info) 即要插入数据的列       可以省略

    但是,需要为表的每一个字段指定值 且值的顺序和数据表中字段的定义时顺序相同

     

    同时插入多条记录时,会返回一些信息:

    将查询结果插入到表中:

    INSERT INTO 表名1  (列名2)

    SELECT (列名2) FROM 表名2 WHERE (条件)

    MYSQL不关心返回的列名

    根据列的位置进行插入

    第一列对应插入表的第一列……

    为表和字段取别名

    表名字 AS 表别名

    SELECT  *   FROM fruits AS O,sports AS S

    WHERE O.FRUIT_NUM > 0 AND S.sport_num >2;

       2.字段

    列名 AS 列别名

    SELECT O.FRUIT_NUM AS A , S.sport_num  AS B

    单表查询

    SELECT * FROM 表名;            //查询所有字段

    SELECT 列名 FROM 表名;        //查询指定字段          

    SELECT 列名1,列名2,。。。。;    //查询多个指定字段

    SELECT 列名1,列名2

    FROM 表名

    WHERE 条件;     //查询指定记录

     

    SELECT 列名1,列名2

    FROM 表名

    WHERE 条件 IN (100200);

                   

               //查询满足指定范围内的记录  也可以WHERE 条件 NOT  IN (100200);

     

    SELECT 列名1,列名2

    FROM 表名

    WHERE 条件 BETWEEN 100 AND 200;               //查询满足指定范围内的记录  也可以WHERE 条件 NOT  BETWEEN 100 AND 200;

     

    需要使用通配符进行匹配查找,通过创建查找模式对表中的数据进行比较   ----LIKE

    1. LIKE的字符匹配查询

    SELECT f_id,f_name

    FROM  fruits

    WHERE f_name LIKE ‘B%’;      //查找所有以b开头的f_name

                               // % 匹配任意长度的字符,甚至零字符

    WHERE f_name LIKE ‘_B’;     //_’ 匹配单个字符

     

    1. 查询空值

    空值不同于0,也不同于空字符串

    空值一般表示 数据未知 不适用 稍后添加数据

    WHERE f_name IS NULL; 

    WHERE f_name NOT IS NULL; 

     

    1. AND的多条件查询

    WHERE f_name=’xx’ AND price>5;

     

    1. OR

    WHERE f_name=’xx’ OR price>5;

                                                          AND的优先级高于OR

    1. 查询结果不重复

    SELECT DISTINCT 字段名 FROM 表名;               

     

    1. 对结果排序

    SELECT f_name FROM fruits ORDER BY f_name;                   //对指定的列数据排序【字母表顺序】

    SELECT f_name FROM fruits ORDER BY f_name,f_price;            //多列

    多列排序时:首先排序的第一列必须有相同的列值,才会对第二列排序

    如果第一列数据中所有值都是唯一的,将不再对第二列进行排序

    SELECT f_name FROM fruits ORDER BY f_name DESCf_price ASC;            //ASC升序,默认    DESC降序

     

  • 相关阅读:
    多重背包POJ1276不要求恰好装满 poj1014多重背包恰好装满
    哈理工1053完全背包
    求最小公倍数与最大公约数的函数
    Bus Pass ZOJ 2913 BFS 最大中取最小的
    POJ 3624 charm bracelet 01背包 不要求装满
    HavelHakimi定理(判断一个序列是否可图)
    z0j1008Gnome Tetravex
    ZOJ 1136 Multiple BFS 取模 POJ 1465
    01背包 擎天柱 恰好装满 zjut(浙江工业大学OJ) 1355
    zoj 2412 水田灌溉,求连通分支个数
  • 原文地址:https://www.cnblogs.com/expedition/p/11187285.html
Copyright © 2011-2022 走看看