美文网首页Mysql
Mysql 1.数据库基本语法

Mysql 1.数据库基本语法

作者: 第二套广播体操 | 来源:发表于2019-03-22 11:18 被阅读0次

    一 操作数据库 CRUD

    RETRIEVE
    查看数据库:
    SHOW CREATE DATABASE 数据库名;
    查看全部数据库
    SHOW DATABASES;


    CREATE
    创建数据库
    CREATE DATABASE IF NOT EXISTS 数据库名;
    创建指定编码集数据库
    CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 编码集名;


    UPDATE
    修改数据库名称
    ALTER DATABASE 数据库名 CHARACTER SET UTF8;


    DELETE
    删库
    DROP DATABASE IF EXISTS 数据库名


    查询正在使用的数据库
    SELECT DATABASE();
    使用数据库
    use 数据库名;


    二 操作表

    RETRIEVE
    查询表
    SHOW TABLES;
    查看表字符集
    SHOW CREATE TABLE 表名;
    查询指定表结构
    DESC 表名;


    CREATE
    创建表
    CREATE TABLE 表名(
    列名1 数据类型1,
    列名2 数据类型2,
    ...
    列名n 数据类型n
    );
    最后一列不需要加逗号

    数据类型:
    1.INT 整数 age INT,
    2.DOUBLE 小数 score DOUBLE(5,2), 有五位 小数点后两位
    3.DATE 日期 只包含年月日 yyyy-MM-dd
    4.DATATIME 日期 年月日时分秒 yyyy-MM-dd HH:MM:SS
    5.TIMESTAMP 时间戳 如果设置为这个类型 不赋值 或者赋值为null 则会以系统当前时间进行赋值
    6.VARCHAR 字符串 name VARCHAR(20),

    复制表
    CREATE TABLE 表名 LIKE 被复制表名


    UPDATE
    修改表

    修改表名
    ALTER TABLE 表名 RENAME TO 新表名;
    修改表的字符集
    ALTER TABLE 表名 CHARACTER SET UTF8;
    添加一列
    ALTER TABLE 表名 ADD 列名 数据类型;
    修改列名
    ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
    修改列数据类型
    ALTER TABLE 表名 MODIFY 列名 新数据类型;


    DELETE
    删除表
    ALTER TABLE 表名;
    删除列
    ALTER TABLE 表名 DROP 列名;


    三 操作数据

    1 添加数据
    INSERT INTO 表名 (列名1,列名2,列名3)VALUES(值1,值2,值3);
    如果不添加列名 要求给所有列属性赋值
    INSERT INTO students values(2,'赵敏',16,98.7,'1997-12-10',null);


    2 删除数据
    删除一行数据
    DELETE FROM 表名 WHERE 列名= 值;

    删除表中所有数据 多次执行单行删除
    DELETE FROM 表名
    建议使用
    TRUNCATE TABLE 表名;
    删除整个表 并建立一个一模一样的空表


    3 修改数据
    UPDATE 表名 SET 列名1=值1,列名2=值2 WHERE 条件
    UPDATE students SET age=20,score=100 WHERE id=1;
    不加条件会改整列


    4 查询数据

    多字段查询
    SELECT 字段1 字段2
    FROM 表名;
    SELECT NAME,age FROM student3;

    去重复字段
    SELECT DISTINCT 字段
    FROM 表名;
    SELECT DISTINCT address FROM student3;

    计算列
    SELECT NAME,math,english,math+english FROM student3;
    起列名
    SELECT NAME,math 数学,english 英语,math+IFNULL(english,0) 总分 FROM student3;

    条件查询

    SELECT * 
    FROM student3
    WHERE age!=20;
    
    SELECT *
    FROM student3
    WHERE age> 20 AND age<60;  -- AND
    
    SELECT *
    FROM student3
    WHERE age BETWEEN 20 AND 30;  -- BETWEEN AND
    
    SELECT *
    FROM student3
    WHERE age=22 OR age=18;  -- OR
    
    SELECT *
    FROM student3
    WHERE age IN(18,20);   -IN ()
    
    SELECT *
    FROM student3
    WHERE english IS NULL; - IS NULL
    
    SELECT *
    FROM student3
    WHERE english IS NOT NULL;  -IS NOT NULL
    

    模糊查询

    %为多个字符 的占位符 _为单个字符

    SELECT*
    FROM student3
    WHERE NAME LIKE'马%';  -- %为多个字符 的占位符 _为单个字符
    
    SELECT*
    FROM student3
    WHERE NAME LIKE'_化%';  
    
    -- 查询带德字的名字
    SELECT*
    FROM student3
    WHERE NAME LIKE'%德%';  
    

    相关文章

      网友评论

        本文标题:Mysql 1.数据库基本语法

        本文链接:https://www.haomeiwen.com/subject/mshlvqtx.html