Bootstrap

MySql数据库 基础理论(一)

1 . 什么是数据库
数据库是按照数据结构来组织、存储和管理数据的仓库
2. 常见数据库:
Oracle
DB2
MySql
SQL Server
3. sql是用来操作数据库的语言
4. 数据库分为关系型数据库和非关系型数据库
5. 数据库的专业术语RDBMS:
表 table
数据库 database
列 field
行 row
主键
外键
索引
6 . mysql是一个关系型数据库管理系统,是开源的,支持大型的数据库,使用标准的sql数据语言形式,可以支持多种编程语言
7 . 获取更新linux列表语句:sudo apt update
8 . 更新linux语句:sudo apt upgrade
9 . mysql安装(linux)语句:
sudo apt-get install mysql-server mysql-client
10.链接数据库语句:mysql -uroot -p
11.创建数据库语句:create database 数据库名称 charset=utf8
12.进入数据库语句:use 数据库名称
13.查看数据库语句:show database
14.查看数据库当中有多少张表:show tables
15.删除数据库:drop database 数据库名称
16.创建表的语句:create table +表名字(字段名称 数据类型)
17.添加一列语句:alter table 表名 add 列名 数据类型
18.查看表的字段结构:desc 表名
19.修改一个表的字段类型(修改表中一列的数据类型):alter table 表名 modify 字段名 数据类型
20.删除一列语句:alter table 表名 drop 列名
21.修改表名语句:rename table 原表名 to 新表名
22.查看表的创建细节语句:show create table 表名
23.修改表的字符集语句:alter table 表名 charset=字符集
24.修改表的列名语句:alter table 表名 change 原列名 新列名 数据类型
25.删除表的语句:drop table +要删除的表的名字
26.删除数据库的语句:drop database + 要删除得数据库的名字
27.数据库语言不区分大小写,要么全小写,要么全大写
28 数据库得存储引擎: MYISAM INNODB(安装完数据以后得默认引擎) MEMORY(键值存储)
29.sql数据类型:
一、数值类型
二、字符串类型
三、日期和时间类型
30.常见数据类型:
Double浮点型,例如double(5,2)表示整数位最多5位,小数位最多2位
Char固定长度字符串类型
Varchar可变长度字符串类型
Text字符串类型
Blob二进制类型
Date日期值
Time 时间值
Year 年份值
Datetime 日期时间类型
31.在mysql中,字符串类型和日期类型都要用单引号括起来。
32.sql功能分类:
DDL:数据定义语言 用来定义数据对象:数据库、表、列等
DML:数据操作语言 用来操作数据表中的记录
DQL:数据查询语言 用来查询数据
DCL:数据控制语言 用来定义访问权限和安全级别
33.存储引擎分类:数据库得存储引擎: MYISAM INNODB(安装完数据以后得默认引擎) MEMORY(键值存储)
34.查询表中的所有数据:select * from 表名;
35.查询特定字段的数据:select + 要查询的列名(字段名) + form +表名
36.要查询特定的满足条件的数据:select + 要查询的列名(字段名)+from + 表名 + where +条件
37.添加数据的另一种写法:insert into 表名 values(值1,值2,……)
38.备份数据库:mysqldump -u root -p
39.插入语句:insert into +表名+字段名+values(值)
40.插入多条语句:insert into + 表名 +(字段名)+values(值1),(值2),(值3)……
41.更新数据:update +表名 +set +字段名=新的内容 where +条件
42.删除数据:delete from +表名 +要删除的字段名 + where +条件
43.删除全部数据的两种方法:1.delete from + 表名 2.truncate from +表名
44.注意事项:
列名与列值的类型、个数、顺序要一一对应
值不要超出列定义的长度
插入的日期和字符一样,都使用引号括起来
45.delete与truncate的区别:
Delete删除表中的数据,表结构还在,删除后数据还可以找回
Truncate删除时把表直接drop掉,然后再创建一个同样的新表,删除的数据不能找回,执行速度比delete快
46.虚拟结果集:即查询出来的结果,我们称之虚拟结果集,存放在内存里面
47. where条件后面:
> 大于
< 小于
<> != 不等于
= 等于
<= 小于等于
>= 大于等于
between…and… 在…和…之间
in 在某个集合里面
is null 为空
is not null 不为空
and 与,且
or 或
not 非
48.模糊查询:根据指定的关键字进行查询,使用like关键字后跟通配符
49.通配符:_:任意一个字母
%:任意0-n个字母
50.使用正则表达式查询:
正则表达式是用某种模式去匹配一类字符串的一个方式。正则表达式的查询能力比通配符的查询能力更强大。在mysql中使用关键字regexp来匹配查询正则表达式
基本语法:字段名 regexp ‘匹配方式’
51.^ 匹配以特定字符或者字符串开头的记录
$ 匹配以特定字符或字符串结尾的记录
. 匹配任意字符串中任意一个字符,包括回车和换行符
[字符集合] 匹配‘字符集合’中任意一个字符
[^字符集合] 匹配除‘字符集合’以外任意一个字符
S1|S2|S3 匹配S1、S2、S3中的任意一个字符串
*匹配多个该符号之前的字符,包括0个或者1个

  • 匹配多个该符号之前的字符,包括1个(至少有1个)
    字符串{N} 匹配字符串出现N次
    字符串{M,N} 匹配字符串出现至少M次,最多N次
    52.去除重复记录:select distinct 列名 from 表名;
    53.把查询字段的结果进行运算,必须都要是数值型:select *, 字段1+字段2 from 表名;
    54.把查询字段的结果进行运算重命名:select *,字段1+字段2 as 名字from 表名
    55.列表很多记录的值为null,因为任何东西与null相加的结果还是null,所以结算结果可能回出现null
    56.排序:关键词order by
    排序类型(默认是ASC) 升序ASC 从小到大 降序DESC 从大到小
    57.聚合函数:对查询的结果进行统计计算
    常用聚合函数:
    Count():统计指定列不为null的记录行数
    Max():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算
    Min():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
    Sum():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
    AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0
    58.分组查询:将查询结果按照1个或者多个字段进行分组,字段值相同的为1组
    59.在使用分组时,select后面直接跟着的字段一般都在出现在group by后
    60.group_concat(字段名)可以作为一个输出字段来使用
    表示分组之后,分局分组结果,使用group_concat()来放置每一组的某字段的值的集合
    61.将字段的位置移到某字段后面:alter table 表名 modify 列名 数据类型 after 列名
    62.将表的存储引擎更改为其他类型:alter table 表名 engine=类型
;