mysql数据库基础

mysql数据库基础_第1张图片


 目录

常用数据类型

数据库基本操作

 约束类型

小结


常用数据类型

1、int:整形

2、double(m,d)

     decimal(m,d):浮点数类型 (m指定长度,d表示小数点位数)

3、varchar(size):字符串类型

4、timestamp:日期类型

数据库基本操作

不管执行什么语句,都要在语句的最后加上(分号)。

1、创建数据库

create database 数据库名;

2、显示当前数据库

show databases;

3、删除数据库

drop database 数据库名;

4、使用数据库

use 数据库名;

5、创建表

create table 表名;

6、查看表结构

desc 表名;

7、插入数据

insert into 表名 values(对照列的类型写入);

8、查找语句

全列查找

select * from 表名;

指定列查询

select 列名,列名…… from 表名;

指定查询字段为表达式(在查询时,同时进行一些运算)

select 列名+(-*/)列名 from 表名;

查询字段指定别名

select 列名…… as 别名 from 表名;

针对查询结果去重

select distinct 列名 from 表名;

针对查询结果进行排序

select * from 表名 order by 列名 asc/desc;//升序/降序

分页查询

select * from 表名 limit n;// 从0开始,筛选n条结果
select * from 表名 limit n offset s;//从s开始,筛选n条结果

条件查询

select 列名 from 表名 where 条件;

常用运算符:

and,or,not 与或非 (and优先级比or高)

>,>=,<,<= 大于,大于等于……

= 比较相等,不比较NULL

<=>比较相等,比较NULL

!=,<> 不等于

between a and b 范围匹配,在闭区间 [a,b]范围内

in (option, ...) 如果是 option 中的任意一个,返回 TRUE(1)

is NULL    是 NULL

is not NULL   不是 NULL

like 模糊匹配,% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符  

    以上查找的结果都是一个"临时表",数据库的表都是在硬盘上的,而此处的这个查询结果临时表,不是在硬盘上,而是在内存中,随着进行了输出之后,数据也就被释放了。所以上面操作都是对临时表操作,对原始数据不会产生影响。

    当用户输入sql之后,客户端就会把这个sql包装成网络请求,发给服务器,服务器这边收到请求之后,就会操作硬盘,从硬盘中读取数据把数据包装成响应。客户端收到这个响应数据之后,就会临时的在内存中把这个响应结果保存起来并且在显示器上输出(标准输出上打印)随着打印完毕,在客户端内存中保存的结果数据也就被释放了。

9、修改语句

update 表名 set 列名=值…… where 条件;

10、删除语句

delete from 表名 where 条件;

这里修改的是原始数据。

举例说明:

创建数据库:

显示当前数据库:

mysql数据库基础_第2张图片

 创建名为student的表(需要操作数据库中的表时,需要先使用该数据库):

查看表结构:

mysql数据库基础_第3张图片

插入并查看:

mysql数据库基础_第4张图片

insert进行插入的时候,可以只插入其中的某一列或者某几个列的. 此时其他的列将采用默认值

mysql数据库基础_第5张图片

 可一次性插入多列,用(),隔开

mysql数据库基础_第6张图片

 如果某一种类型是datetime,可以用以下三种方式插入

 mysql数据库基础_第7张图片

 查找:

指定列查找

mysql数据库基础_第8张图片

指定查询字段为表达式

mysql数据库基础_第9张图片

 查询字段指定别名

 mysql数据库基础_第10张图片

 针对查询结果去重

mysql数据库基础_第11张图片

 针对查询结果进行排序

升序

mysql数据库基础_第12张图片

降序

mysql数据库基础_第13张图片

 如果有NULL值,默认NULL值为最小值

mysql数据库基础_第14张图片

 条件查询

mysql数据库基础_第15张图片

 % 匹配任意多个(包括 0 个)字符  ,可以匹配到任意张开头的名字

mysql数据库基础_第16张图片

  _ 匹配严格的一个任意字符 ,一个_能匹配到一个字符。

 mysql数据库基础_第17张图片

分页查询

mysql数据库基础_第18张图片

mysql数据库基础_第19张图片 

mysql数据库基础_第20张图片 

 查询前三名的成绩

mysql数据库基础_第21张图片

修改:

把张三语文成绩改为80

mysql数据库基础_第22张图片

 把所有人语文成绩进行修改

mysql数据库基础_第23张图片

 将总分前三的每个人语文成绩加上10

mysql数据库基础_第24张图片

 删除:

mysql数据库基础_第25张图片

 约束类型

1、not null--- 指示某列不能存储 NULL 值。

 

mysql数据库基础_第26张图片

 2、unique---保证某列的每行必须有唯一的值。

mysql数据库基础_第27张图片

 3、default---规定没有给列赋值时的默认值。

mysql数据库基础_第28张图片

指定默认值后,没有给该列赋值时,该列默认值为指定默认值。

mysql数据库基础_第29张图片 

 4、primary key(最重要的约束)not null unique 的结合。确保某列(或两个列多个列的结合)有有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。 主键约束,相当于数据的唯一标识。对于一个表来说,只能有一个列被指定为主键。

mysql数据库基础_第30张图片

自增主键 primary key auto_increment,当设定好自增主键之后,此时插入的记录,就可以不指定自增主键的值了(直接使用null来表示) ,交给mysql自行分配即可。

mysql数据库基础_第31张图片

 5、foreign key ---保证一个表中的数据匹配另一个表中的值的参照完整性。

也称外键约束,描述的是两张表的两个列之间的"依赖关系”子表依赖于父表(子表引用自父表)要求子表中对应的记录得在父表中存在。

举个例子:创建一个班级表和学生表如下,每个学生都要都属于一个具体的班级,这个班级首先得存在,这里学生表依赖班级表,就把学生表称为”子表“,班级表称为”父表“。

mysql数据库基础_第32张图片

这种情况就可以用外键约束来描述。

mysql数据库基础_第33张图片

外键约束,描述的是两张表的两个列之间的"依赖关系",子表依赖于父表(子表引用自父表)要求子表中对应的记录得在父表中存在,班级表中的班级只有1,2,3,此时我在子表学生表中插入一个班级为10,就会出现错误,插入失败。

 

 插入班级表中有的班级就能插入成功。

 mysql数据库基础_第34张图片

 外键约束也同样在约束父表,当父表中的某个记录被子表依赖的时候,此时尝试删除修改都会失败。

mysql数据库基础_第35张图片

小结

以上就是今天的内容了,有什么问题都可以在评论区留言哦✌✌✌

mysql数据库基础_第36张图片

你可能感兴趣的:(mysql,数据库,mysql)