zoukankan      html  css  js  c++  java
  • mysql 笔记

    数据库

    创建数据库

    create database lambert;
    

    使用数据库

    use databases;
    

    数据表

    创建数据表

    create table lambert(id int,name char(100),phonenumber int(50));
    

    创建带有自增和主键的字段,Identity(1,1)是sqlserver的用法

    CREATE TABLE lantian (
                 id INT auto_increment primary key,
                 numberStu CHAR(40),
                 name CHAR(40),
                 sex CHAR(40),
                 classes CHAR(40),
                 grade FLOAT )
    

    查看数据表

    show tables;
    

    查看数据表结构

    describe lambert;
    

    删除表格

    drop table lambert;
    

    插入数据

    insert into lambert(id,username,age,mobilephone)values (1,"lantian",23,19832180706);
    

    当只写value的时候是对每一列都插入数据。

    修改字段数据类型

    增加字段

    alter table person add column id int(100);
    

    删除字段

    alter table person drop column id int(100);
    

    修改字段

    alter table person modify column id int(100);
    

    where查找数据

    select * from lambert where id=1;
    

    设置数据库使用的字符集

    set names utf8;
    

    一些重要的SQL命令

    image-20210205110601503

    查出表中不同的值,用于去重

    select distinct name from systemInformation;
    

    Sql中数值字段

    不能使用引号

    select * from systemInformation where id=1;
    

    Where子句中的运算符

    image-20210205112234479
    and 用于同时满足两种情况。
    
    or 用于满足其中一种条件。
    
    not 用于满足不包含该条件的值。
    

    逻辑运算的优先级:

    ()    not        and         or
    

    空值判断is null

    Select * from emp where comm is null;	
    

    between and (在 之间的值)

    Select * from emp where sal between 1500 and 3000;
    

    In 等于以下任意一值

    Select * from emp where sal in (5000,3000,1500);
    

    like 模糊查询

    Select * from emp where ename like 'M%';
    
    • % 表示多个字值,_ 下划线表示一个字符;
    • M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
    • %M% : 表示查询包含M的所有内容。
    • %M_ : 表示查询以M在倒数第二位的所有内容。

    CONCAT LIKE 结果集

    Order by 对结果集进行升序排序,加 desc 后为降序排序

    select * from systemInformation order by id desc;
    

    多列排序

    SELECT * FROM Websites ORDER BY country,alexa;
    

    当进行多列排序时,是先对country 排序,再对alexa 排序。

    ORDER BY 多列的时候,eg:

    order by A,B        这个时候都是默认按升序排列
    order by A desc,B   这个时候 A 降序,B 升序排列
    order by A ,B desc  这个时候 A 升序,B 降序排列
    

    desc 或者 asc 只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序。

    Update 修改数据表

    执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。

    在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。

    set sql_safe_updates=1; 表示开启该参数

    UPDATE Websites SET alexa='5000', country='USA' WHERE name='菜鸟教程';
    

    Delete 用于删除表中某行数据

    DELETE FROM table_name WHERE some_column=some_value;
    

    删除表中所有数据

    DELETE FROM table_name;
    或
    DELETE * FROM table_name;
    

    mysql主键外键的作用

    1. 主键的作用

      主键是能确定一条记录的唯一标识,主键字段必须唯一,必须非空,一个表中只能有一个主键,主键可以包含一个或多个字段。打个比方,一条记录包括身份正号,姓名,年龄,学校,国籍,性别等。身份证号是唯一能确定你这个人的,其他都可能有重 复,所以,身份证号是主键。

    2. 外键的作用

      外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。外键用于与另一张表的关联。是能确定另一张表记录的字段,保持数据的一致性、完整性。

    按照多个查询条件进行查询

    images

    动态sql

    多表多字段查询

    select a.name,b.member from power a inner join systemInformation b on a.id=b.id;

    sql语句

    表和列的别名

    select name 姓名, member 会员 from power p;
    
    // 用 concat(column) as newColumn 合并列并重命名
    select id,concat(name,',',power,',',powerGroupId) as detail from power;
    

    关联映射

    关联映射的两种方法

    分步查询信息

    写两个方法

    springboot配置数据库

    1. 配置数据源application.yml
    有什么不同见解可以在评论区共同讨论
  • 相关阅读:
    JS 数字时钟的代码(摘录,忘了是从哪了)
    数据写入DataTable C# 2005
    C# 进制转化问题测试下再说(网上的直接转化不好用)
    防sql 注入,就是将sql 的执行命令给排除
    今天研究了一下午网站窄屏/宽屏的切换实现
    解决VS2005下中文输入法全角半角混乱的补丁
    一些实用的站长查询工具
    UE(用户体验)无处不在,留心处处皆学问
    添加了方便聚合的链接
    该好好整理一下自己了
  • 原文地址:https://www.cnblogs.com/lambertlt/p/14853950.html
Copyright © 2011-2022 走看看