(2)MySQL学习--基础

一.数据库的介绍 

二.RDMS专业术语

表:具有固定的列数和任意的行数;

数据库:数据库是一些关于关联表的集合;

列:一个数据项 Field字段;

行:一天记录;

主键:主键是唯一的,一个数据表中只能包含一个主键,你可以使用主键来查询数据。

外键:外键用于关联两个表。

索引:使用索引可以快速访问数据库表中的特定信息,索引是对数据表中一列或多列的值进行排序的一种结构,类似于输的目录。

扫描二维码关注公众号,回复: 3135827 查看本文章

三.MySQL数据库

1.介绍

.

2.常用数据库命令

(1)MySQL数据库分为两种:用户数据库,系统数据库

(2)安装 Navicat 

(3)本机的数据库

(4)字符集选UTF-8

(5)字符集的介绍

 

(6)MySQL的存储引擎

扩展名分别为:.frm   .myd .myl

(6).数据库基本操作     cmd命令  

登录数据库  mysql -u root -p

查看当前所有存在的数据库  show databases;

查看mysql端口命令: show variables like 'port' ;

查询当前正在使用的数据库

select database();

status;

切换数据库 use database_name;

创建一个新的数据库  

create database database_name;

删除数据库

drop database database_name;

(7)什么是表?

在关系型数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的属性,都有相应的描述信息,如数据类型、数据宽度等。可以简单用如下图片进行表述数据库表:

 3.SQL

1.常用数据类型

(2)日期类型:

(3)字符串类型

(4)

2.常见运算符介绍

算术运算符 加(+)、减(-)、乘(*)、除(/)、取余(%)

比较运算符 大于( > )、小于( < )、等于( = )、大于等于( >= )、小于等于( <= )、不等于(!=)

逻辑运算符 非( NOT或! )、与( AND 或 && )、或( OR 或|| )、异或(XOR)

3.DDL(针对表的结构进行修改,数据定义语言)

创建数据库  create database数据库名 character set utf8;

Navicat端  :

右键->创建数据库

修改数据库:

use 数据库名;

创建表(先使用数据库才能创建表)

查看表中字段的信息   desc 表名;

int(11)代表 不够11位 用0补齐 ,

varchar(10)限制最多只能添加10位;

添加列  alert table 表名 add 列名  数据类型;

修改(modify)一个表的字段类型       alert table 表名 modify 字段名  数据类型;

删除一列                                               alert table 表名 drop  字段名(列名);

修改表名                rename  table  原来表名  to  新表名;

 

查看表的创建细节  show create table  表名;

修改表的字符集

修改表的列名

alter table student change 要修改的列名  新列名  varchar(20); 

修改之后:

4.DML(数据操作语言,用来操作表中的记录)

查询表中的所有数据:   select * from 表名;

插入操作:insert  into  表名(列名1,列名2...)values  (值1,值2)

注意: varchar 类型 需要加   ' '

\G 换一种方式显示:

注:要访问表必须先使用数据库  use  数据库名;

批量插入记录: insert  into 表名  (列名1,列名2...) values (列值1,列值2...),(列值1,列值2...);

更新操作:

删除操作:

4.数据表的基本操作

(1)使用主键约束

单字段主键: 在定义列的同时指定主键,语法规则如下: 字段名 数据类型 primary key [默认值]

在定义完所有列之后指定主键: [CONSTRAINT <约束名>] PRIMARY KEY [字段名]

多字段联合主键 PRIMARY KEY [字段1,字段2,…,字段n]

(2)使用非空约束

非空约束语法规则如下: 字段名 数据类型 NOT NULL

(3)使用唯一性约束

唯一约束语法规则如下: 字段名 数据类型 UNIQUE

5.约束

使用默认约束

默认约束语法规则如下: 字段名 数据类型 DEFAULT 默认值 使用外键约束 外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或多个外键。

(1)使用foreign key来指定本表的外键列,并使用references来指定参照哪个主表,以及参照到主表的哪个列。 CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES table_name(column_name)

(2)修改数据表时添加外键约束 Alter table ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES table_name(column_name)

6.别名和限制使用

select count(*)  as 输出列名 from 表名;   select count(*)  as 列名 from 表名;        #将count(*)命名为列名

limit子句:对查询的显示结果限制数目

limit  3;   表示前3条数据。 limit  4,1 表示从第5条开始查询,显示前1条数据。 limit  5,3  显示第6/7/8条数据。

7.单表查询

  • 查询所有字段 select * from 表名;
  • 查询指定字段 select 列名 from 表名;
  • 查询指定记录 select 字段名1,字段名2,...,字段名n from 表名 where 查询条件;
  • DISTINCT 查询结果去重 SELECT distinct 字段名 from 表名;
  • 带IN/NOT IN 关键字的查询 SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);
  • 带 BETWEEN AND 的范围查询 SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
  • 带 LIKE 的字符匹配查询 SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
  • 查询空值(IS NULL) SELECT column_name(s) FROM table_name WHERE column_name IS NULL;
  • 带 AND 或 OR 的多条件查询 查询结果排序(ORDER BY) 分组查询(GROUP BY ) SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name;
  • HAVING SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value;

8.使用聚合函数查询

函数

作用

AVG()

返回某列的平均值

COUNT()

返回某列的行数

MAX()

返回某列的最大值

MIN()

返回某列的最小值

SUM()

返回某列值的和

9.连接查询

多表查询

内关联(inner join等价于join)

外关联(left join、right join、full join)

交叉关联(cross join)

内关联、左右关联的另外一种写法(where)

10.子查询

子查询是将一个查询语句嵌套在另一个查询语句中,内层查询语句的查询结果,可以为外层查询语句提供查询条件。

在特定情况下,一个查询语句的条件需要另一个查询语句来获取。

基本结构: SELECT 显示列 FROM 表名 WHERE 字段名 IN (查询语句);

连接子查询关键字:in、not in 、=、!=、exitst

11.插入数据

  • 为表的所有字段插入数据 INSERT INTO table_name (column_lists) VALUES (value_lists);
  • 为表的指定字段插入数据
  • 将查询结果插入表中 INSERT INTO table_name1 (column_list1) SELECT (column_list2) FROM table_name2 WHERE 查询条件;
  • 将查询结果插入新建的数据表中 CREATE table1_bak AS SELECT * FROM TABLE1;

12.更新数据

更新数据基本语法

UPDATE 语句用于更新表中已存在的记录。

UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;

13.删除数据

删除数据基本语法

 DELETE 语句用于删除表中的行。

DELETE FROM 表名 WHERE 字段名=some_value; truncate (table) tb   删除表中的所有数据,不能与where一起使用

猜你喜欢

转载自blog.csdn.net/weixin_42359436/article/details/82559482