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
posted @ 2021-06-05 21:45  lambertlt  阅读(53)  评论(0编辑  收藏  举报