【mysql】数据库基础知识总结

MySQL(关系型数据库)

①所有的数据库名、表名、表字段都区分大小写。
②MySQL的命令终止符好为分号“;”。写完命令没有加终止符是无法运行的。

一、数据库:

1.MySQL连接:

MySQL默认启动的端口号为3306。
打开控制台会出现“Enter password:”,输入安装时设置的密码。

在这里插入图片描述
当出现以下界面时,就可以操作数据库了。
在这里插入图片描述

2.创建并查看数据库

创建数据库 create database(数据库名);
--------------- create database if not exists(数据库名);
查看数据库 show databases;

在这里插入图片描述
在这里插入图片描述

3.删除数据库

drop detabase (数据库名);
drop database if exists (数据库名);
前者是直接删除,后者是有则删除

在这里插入图片描述

4.选择要操作的数据库

use <数据库>;

5.数据类型

日期和时间类型:date(yyyy-mm-dd日期值)、time(hh:mm:ss时间值或持续时间)、year(yyyy年份)、datetime(yyyy-mm-dd hh:mm:ss混合日期和时间值)
数值类型中比较常用的有:int(整型)、float(单精度浮点型)、double(双精度浮点型)、decimal(浮点型,常用与存储金额)
字符串类型: char(定长字符串,当存储的内容少于定长时,以空格自动补齐)、varchar(变长字符串)、text(长文本数据)、longtext(极大文本数据)
-----注意char(n)与varchar(n)中括号中n代表字符的个数,并不是字节个数。

二、数据表:

①如果不让字段为空,可以设置字段的属性为“not null”,在操作数据库是如果输入该字段的数据为"null",就会报错。
②"auto_increment"定义列为自增的属性,一般用于主键,数值会自动加1。
③“primary key”关键字用于定义列为主键。可以使用多列来定义主键,列间以逗号隔开。
④“engine"设置存储引擎,“charset“设置编码。当获取的数据为乱码时,需要注意。

1.创建数据表

create table <表名>(<列名>,<对应数据类型>);
create table if not exists <表名>(<列名>,<对应数据类型>);

在这里插入图片描述
(1)表内的自增列设置:(auto_increment)
①一般自增列都为主键(因为自增列都是唯一的,不能为null),因此可以在建表是直接将某个列设置为“自增+主键”。
注意设置自增时无法直接在创建表时就选择自增起始值,只能当表创建好后,另外做修改。
在这里插入图片描述
在这里插入图片描述
以上两个设置自增列的表中,关于主键的设置方式有两种,一种是直接在相应的字段后跟一个主键关键字,另一个是在所有字段设置后,标识出主键。在实际情况中主键可以不止一个。
表外添加主键: alter table <表名> add primary key(<主键>);

②修改自增列的初值(在创建表时,设置有自增列属性时,才可以使用如下SQL语句。当起初没有设置自增列属性时,需要更换为另一种方式。)

alter table <表名> auto_increment = <自增列初值,默认为1>;
注意:当要设置自增列时,首先你的数据类型得是数值型。

在这里插入图片描述
在这里插入图片描述
在设置了自增列之后,即使在插入时不为相应列插入内容,记录行也会自动添加。
更改自增列
这里将自增列的初值设置为了2020;
③在创建表时没有给表设置自增的情况下,添加自增列。

alter table <表名> change id id int auto_increment;
上面涉及的id,是属性字段。

(2)设置编码格式:
在创建表的时候,建议将编码格式写上。避免在添加数据时,出现乱码。下面两张图中,第一张是由编码格式设置的。第二张是没有编码格式设置的。
在这里插入图片描述
在这里插入图片描述

2.删除数据表

drop table <表名>;

3.插入数据

insert into <表名>(fileld1,field2,…fieldN) values(value1,value2,…,valueN);
-----注意:列数要与值数对应;如果数据是字符型,必须使用单引号或者双引号,如“value”。

在这里插入图片描述
在这里插入图片描述

4.更新数据

updata <表名> set field1= new-value1,field2=new-value2 [where clasuse];

------注意:在更新数据时,可以一次更新多个属性字段,其中where可以帮助我们找到要更新的具体记录。

在这里插入图片描述

5.数据删除

delete from <表名> [where clause];
-----注意:如果在删除时,没有指定where条件子句,命令将会删除整个表。这里的删除仅仅删除的是表内的数据,不会删除表本身。当使用“drop table if exists <表名>”时,才是将包括数据的整个表都完全删除。

在这里插入图片描述

6.表的主键、外键:

主键的值不能为空,值不能重复。
外键是引用键,外键引用的是主键。
唯一键(unique)值可以为空,值不能重复。

7.表外添加列与表外添加外键:

alter table <表名> add <列名> varchar(200) not null;
alter table <表名1> add foreign key(<表名1中的列>) references <表名2>(<表名2中的列>);
----注意:主外键的数据类型要一致。

8.查询数据

查询数据所涉及的关键字为“select”
select <列名称> from <表名> where <条件>
-----注意:①“*”是通配符,可以在查询时代表表中的全部信息。②where子句是用来表示匹配满足条件的记录的,会用到的操作符有“=”(等号)、“<>!=”(不等号)、“>”(大于)、"<"(小于)、“>=”(大于等于号)、“<=”(小于等于号),只有条件满足时,才会查询到记录。③查询不仅仅可以是单表查询,也可以是多表查询。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值