MySQL总结

一、MySQL

1.1 MySQL服务

启动MySQL服务net start 服务名,

停止MySQL服务 net stop 服务名,

备注:要用管理员身份运行,否则权限不足

1.2数据库

数据库作用:1、持久化,2、方便管理数据

DB:数据库(Database)**即存储数据的“仓库”。它保存了一系列有组织的数据。

DBMS:数据库管理系统(Database Management System):是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。

常见的数据库管理软件有Sybase、DB2、Oracle、MySQL、Access、Visual Foxpro(面向对象型)、MS SQL Server、Informix、PostgreSQL

二、SQL:结构化查询语言(Structured Query Language)

1.1SQL的分类
  • DDL(Data Definition Languages):数据定义语言,

    定义了数据段、数据库、表、列、索引等数据库对象。主要的语句关键字包括create、drop、alter等。

  • DML(Data Manipulation Language):数据操作语句

    用于添加、删除、更新和查询数据库记录。主要的语句关键字包括insert、delete、update、select等。

  • DQL(Data Query Language):数据查询语言

  • DCL(Data Control Language):数据控制语句,

    用于控制不同数据段直接的许可和访问级别的语句。定义了数据库、表、字段、用户的访问权限和安全级别。

1.2DDL
(1)数据库

create database 数据库名 [charset 字符集];

show databases;

drop database 数据库名;

use 数据库名;

select database();

(2)表

show tables; 或者 show tables from 数据库名;

desc 表名称;

SHOW CREATE TABLE 表名;

drop table 表名称;

alter table 表名 rename 新表名;

rename table 表名 to 新表名;

alter table 表名 add 【column】 列名 数据类型 【default 默认值】【not null】; #默认在最后

alter table 表名 add 【column】 列名 数据类型 【default 默认值】【not null】 after 某一列;

alter table 表名 add 【column】 列名 数据类型 【default 默认值】【not null】 first;

alter table 表名 drop 【column】 列名;

alter table 表名 modify 【column】 列名 数据类型【default 默认值】【not null】;

alter table 表名 modify 【column】 列名 数据类型【default 默认值】【not null】 after 某一列;

alter table 表名 modify 【column】 列名 数据类型【default 默认值】【not null】 first;

alter table 表名 change 【column】 列名 新列名 数据类型【default 默认值】【not null】;

(3)约束

unsigned,unique,auto_increment,null,not null,default,primary_key,foreign_key

外键:foreign_key(class_id) refrences classes(id)

默认值:default curren_timestamp on update current_timestamp

1.3DML
(1)增

INSERT INTO 表名称 VALUES(值1,值2,......);

INSERT INTO 表名称 VALUES(值1,值2,......),(值1,值2,......),...;

INSERT INTO 表名称 (字段1,字段2,......) VALUES(值1,值2,......);

INSERT INTO 表名称 (字段1,字段2,......) VALUES(值1,值2,......),(值1,值2,......),.....;

(2)改

More ActionsUPDATE 表名称 SET 字段名1 = 值1, 字段名2=值2,...... 【WHERE 条件】;

UPDATE 表1,表2,...... SET 表1.字段名1 = 值1, 表1.字段名2=值2,表2.字段1 = 值1, 表2.字段2=值2...... 【WHERE 条件】;

(3)删

delete from 表名 where 条件】;

delete 表1,表2,....... from 表1,表2,...... 【where 条件】;

truncate 表名 删除表再重建一张同名结构的表,速度比delete快,不能回滚

(4)查

SELECT 查询列表 FROM 表名或视图列表 【WHERE 条件表达式】 【GROUP BY 字段名 【HAVING 条件表达式】】 【ORDER BY 字段 【ASC|DESC】】 【LIMIT m,n】;

AS 别名,DISTINCT去重,分组group by,HAVING 筛选,聚合函数( count,avg,sum,max,min)

ORDER BY排序,ASC 升序,DESC降序,LIMIT m,n分页,m从下标为m开始查,n表示每页显示的条数

(5)运算符

(1)算术运算符:+ - * /(除也可以写成div,div取整) %(取模可以写成mod)

(2)比较运算符:= > >= < <= !=(不等于还可以写成<>) <=>(安全等于)

(3)逻辑运算符:&&(逻辑与也可以写成and) ||(逻辑或也可以写成or) not(逻辑非) xor(逻辑异或)

(4)范围:表达式 between ... and ... (也可以写成 表达式>=... and 表达式 <=...)

表达式 not between ... and ...(也可以写成 表达式<... || 表达式 >...)

(5)集合:in (值,值,值...) not in(值,值,值...)

(6)模糊查询:LIKE NOT LIKE,通配符:%表示0-n个字符,_下划线代表一个字符

(7)位运算符:&(按位与) |(按位或)^(按位异或)~(按位取反)>>(右移)<<(左移)

(8)NULL值判断,is null 或 is not null

posted @ 2020-10-20 21:06  6969  阅读(59)  评论(0)    收藏  举报