• mysql总结


    一.数据库的创建与删除

    #创建数据库

    CREATE DATABASE 数据库名;

    #删除数据库

    DROP DATABASE 数据库名;

    #展示数据库

    SHOW DATABASE 数据库名;

    二.表的增删改查

    1.

    #创建表

    CREATE TABLE 表名(

    列名(字段名)  列类型(长度)  属性(非空约束 自增约束 DEFAULT )  索引(PRIMARY KEY  UNIQUE  INDEX )  注释(COMMENT),

    ........,

    #创建表时添加外键

    CONSTRAINT 外键名 FOREIGN KEY  (从表的列) REFERENCES 主表名(主表的列);

    #创建表时添加索引

    INDEX/KEY   `ind`  (``, `subjectNo`)

    ) [  表类型 ] [ 表字符集 ] [注释] ;

    2.

    #删除表

    DROP删除

    DROP TABLE 表名1,表名2;

    DROP TABLE [ IF EXISTS ] 表名
    IF EXISTS 为可选,判断是否存在该数据表
    如删除不存在的数据表会抛出错误
    DROP为整个删除,是将表中数据与表结构完全删除的一种方式

    TRUNCATE删除
    TRUNCATE只对表中数据进行删除,不会对表定义进行删除 TRUNCATE 速度更快

    DELETE删除
    根据条件逐行删除

    3.

    #修改表数据

    #修改表名字

    ALTER TABLE 旧表名 RENAME AS 新表名;

    #添加字段

    ALTER TABLE 表名 ADD 字段名 列类型 [属性 修改字段];

    修改字段
    ALTER TABLE 表名 MODIFY 字段名 列类型 [属性];
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型 [属性];
    删除字段
    ALTER TABLE 表名 DROP 字段名;

    4.

    #显示表结构
    DESC 表名;
    显示表创建语句
    SHOW CREATE TABLE 表名;

    三.数据库内容的增删改查

    1.

    #添加数据
    INSERT INTO 表名 [(字段名1,字段名2,……..)] values (值1,值2,值3,………);

    2.
    #修改数据
    UPDATE 表名 SET column_name = value [ , column_name2 = value2, …. ] [ WHERE condition ];

    3.
    #删除数据
    DELETE FROM 表名 [ WHERE condition ];

    4.

    (1)#查询

    #根据字段名查询语句
    select 字段名1,字段名2,......字段名n from 表名

    #查询表中所有信息
    select * from 表名 (不推荐,效率低下)
    一般通过列出所有查询的字段方式来查询内容

    #通过as子句可将表名数据列名取一个新的别名
    select 字段名 as "别名" from 表名
    select 别名.字段名 from 表名 as 别名

    #通过distinct去掉表中相同内容字段
    select distinct(字段名) from 表名

    #在返回列中使用表达式
    select 字段名*10 from 表名

    (2)

    #WHERE 条件语句的使用

    逻辑操作符
    操作符名称       语法            描述
    AND或&&       a AND b 或 a && b       逻辑与,同时为真结果才为真
    OR或|| a      OR b 或 a||b          逻辑或,只要一个为真,则结果为真
    XOR或^ a      XOR b            逻辑异或,不同为真,相同为假
    NOT或!       NOT a 或 !a            逻辑非,若操作数为假,结果则为真
    比较操作符
    操作符名称     语法              描述
    IS NULL        a IS NULL           若操作符为NULL,则结果为真
    IS NOT NULL    a IS NOT NULL        若操作符不为NULL,则结果为真
    BETWEEN      a BETWEEN b AND c      若a范围在b与c之间则结果为真
    LIKE        a LIKE b            SQL模式匹配,若a匹配b,则结果为真
    IN          a IN (a1,a2,a3,….)                   若a等于a1,a2…中的某一个,则结果为真

    BETWEEN
    SELECT * FROM SUBJECT WHERE ClassHour BETWEEN 110 AND 120;
    SELECT * FROM SUBJECT WHERE ClassHour>=110 AND ClassHour<=120;
    IN
    SELECT * FROM subject where ClassHour=100 OR ClassHour=110 OR ClassHour=120;
    SELECT * FROM SUBJECT WHERE ClassHour IN (100,110,120);
    LIKE
    SELECT * FROM SUBJECT WHERE SubjectName LIKE "%数学%";
    SELECT StudentNo,StudentName FROM student WHERE StudentName LIKE "李__";
    _匹配一个任意字
    %匹配多个任意字符

    (3)

    #Group by分组函数
    SELECT studentno,SUM(studentresult) AS `sum` FROM result GROUP BY studentno;

    (4)

    #通过having对分组后数据进行筛选
    select studentno,avg(studentresult) as `sum` froby studentno having AVG(studentresult)>90;

    (5)

    #Order by排序
    select * from result order by StudentResult;
    默认升序,使用desc进行降序排列

    (6)

    #Limit
    限制SELECT返回结果的行数
    m 指定第一个返回记录行的偏移量
    n 指定返回记录行的最大数目
    注意
    m不指定则偏移量为0,从第一条开始返回前n条记录
    LIMIT 常用于分页显示
    例子:
    SELECT * FROM `result` LIMIT 3 #返回前3条记录
    SELECT * FROM `result` LIMIT 2,3 #返回2-3条记录

    (7)

    子查询

    (8)

    连接查询

    四.管理索引和外键

    #创建索引
    CREATE TABLE `result` (
    //省略一些代码
    INDEX/KEY `ind` (`studentNo`, `subjectNo`)
    )
    ALERT TABLE 表名 ADD 索引类型(数据列名)

    #创建外键

    ALTER TABLE 从表名 ADD CONSTRAINT 外键名 FOREIGN KEY  (从表的列) REFERENCES 主表名(主表的列);

    #删除索引或外键
    DROP INDEX 索引名 ON 表名
    ALTER TABLE 表名 DROP INDEX 索引名

    ALTER TABLE 表名 DROP PRIMARY KEY;

    #查看索引或外键
    SHOW INDEX(或KEYS) FROM 表名

    五.事务

    SET AUTOCOMMIT = 0; # 关闭自动提交模式
    SET AUTOCOMMIT = 1; # 开启自动提交模式
    mysql默认自动提交

    START TRANSACTION / BEGIN
    开始一个事务,标记事务的起始点
    COMMIT
    提交一个事务给数据库
    ROLLBACK
    将事务回滚,数据回到本次事务的初始状态
    SET AUTOCOMMIT = 1;
    开启MySQL数据库的自动提交

  • 相关阅读:
    007 jquery过滤选择器-----------(屬性过滤选择器)
    006 jquery过滤选择器-----------(可见性过滤选择器)
    005 jquery过滤选择器-----------(内容过滤选择器)
    004 jquery过滤选择器-----------(基本过滤选择器)
    003 jquery层次选择器
    002 jquery基本选择器
    css基本知识
    000 Html基本标签与案例
    001 jquery对象与dom对象的转换
    000 Jquery的Hello World程序
  • 原文地址:https://www.cnblogs.com/jiayiblog/p/10947700.html
Copyright © 2020-2023  润新知