MySQL--基础

作者: 薛定谔的特性 | 来源:发表于2018-08-04 14:27 被阅读0次


帮助

?CONTENTS

表操作

创建数据库

CREATE DATABASE db_name;

切换数据库

USE db_name;

创建表

CRETAE TABLE table_name(column type,...);

查看表结构

DESC table_name;

修改表名称

ALTER TABLES old_table_name RENAME TO new_table_name;

显示所有数据库

SHOW DATABASES;

显示所有表

SHOW TABLES;

修改数据库默认编码

ALTER DATABASE db_name DEFAULT CHARACTER SET encoding;

给表添加列

ALTER TABLE table_name ADD new_column type,…;

给表删除列

ALTER TABLE table_name DROP columnname;

插入数据

插入所有字段

INSERT INTO table_name VALUES(colum1, .....);

插入部分字段

INSERT table_name(colum1,..) VALUES(value1,...);

修改数据

UPDATE tableble_name SET columnname=value WHERE 条件;

删除全表

DELETE FROM table_name;

可以带条件删除

只能删除表的数据,不能删除表的约束

可以回滚

TRUNCATE TABLE table_name;

不能带条件删除

既可以删除表的数据,也可以删除表的约束

不可以回滚

查询

查询所有列

SELECT * FROM table_name;

查询指定列

SELECT column1,… FROM table_name;

查询时指定别名

SELECT column AS ‘column_new’,… FROM table_name AS table_name_new;

查询时添加常量列

SELECT column1,…’常量列’ FROM table_name;

查询时合并列

SELECT columname, (column1+column2) FROM table_name;

column1和column2必须为数值类型

查询时去除重复列

SELECT DISTINCT column FROM table_name;

SELECT DISTINCT(column) FROM table_name;

条件查询(WHERE)

逻辑条件:and(与) or(或)

SELECT * FROM table_name WHERE column1=value AND column2=value

SELECT * FROM table_name WHERE column1=value OR column2=value

比较条件: > < >= <= <>(不等于) between and

SELECT * FROM table_name WHERE column > value1 AND column < valu2;

SELECT * FROM table_name WHERE column BETWEEN value1 AND value2;

判空条件(null 空字符串) is null, is not null, =’’, <>’’

SELECT column,… FROM table_name WHERE column is null;

模糊条件(LIKE)

% 任意个字符

_ 一个字符

SELECT * FROM table_name WHERE column LIKE “”


聚合查询

常用聚合函数

SUM() 求和

AVG() 求平均值

MAX() 最大值

MIN() 最小值

COUNT() 计数

COUNT(*) 列数

COUNT(column) 行数

分页查询(LIMIT 起始行, 查询几行)

起始行从0开始

分页: 当前页 每页显示条数

分页查询当前页的数据sql:SELECT * FROM table_name LIMIT (当前页-1)*每页显示条数,每页显示条数;

SELECT * FROM table_name LIMIT start_line, count_line;

查询排序

SELECT * FROM table_name ORDER BY column ASC/DESC;

多列排序条件

SELECT * FROM table_name ORDER BY column1 ASC/DESC, column2 ASC/DESC;

先按column1排序,对column1值相同的行,按column2排序

分组查询(GROUP BY)

SELECT column,COUNT(column/*) FROM table_name GROUP BY column;

分组查询后筛选

SELECT column,COUNT(column/*) FROM table_name GROUP BY column HAVING COUNT(column/*);


表约束

唯一:

unique:不可可重复,可以为空,一张表可以有多个

主键: 非空+unique

primary key:不可重复,不可为空,一张表只能有一个

自增长

cretate TABLE table_name(column type auto_inrement);

cretate TABLE table_name(column type zerofill auto_inrement); 零填充

不能影响自增长约束

DELETE FROM table_name;

可以影响自增长约束

TRUNCATE TABLE table_name;

外键约束

CREATE TABLE table_name(

column type,

CONSTRAINT column_fk FOREIGN KEY(column) REFERENCES table_name_fk(column)

                        外键名称                             外键                                       参考表 (参考字段));

有外键约束时:

添加数据时:先添加主表(参考表),再添加副表

修改数据时:先修改副表,再修改主表(参考表)数据

删除数据时:先删除副表,再删除主表(参考表)数据

级联操作

有外键约束时,通过修改或删除主表,影响副表

CREATE TABLE table_name( column type, CONSTRAINT column_fk FOREIGN KEY(column) REFERENCES table_name_fk(column) ON UPDATE CASCADE[ ON DELETE CASCADE]);

                                                外键名称              外键                参考表(参考字段)

级联修改:ON UPDATE CASCADE

级联删除:ON DELETE CASCADE

相关文章

  • MySQL--基础

    帮助 ?CONTENTS 表操作 创建数据库 CREATE DATABASE db_name; 切换数据库 USE...

  • MySQL--基础

    一、相关资源 mysql基础介绍:mysql学习 数据库终端快速补全工具:mycli 1.mysql对表的操作 1...

  • MySQL--基础查询

    -- 1基础查询 -- 1.1查询所有列 SELECT * FROM stu; -- 1.2在stu表中查询指定列...

  • MySQL--基础一

    MySQL数据库是现在各个平台使用最多的数据库,他承载着大量网页的运行,是非常重要的数据库,SQL server,...

  • MySQL--基础二

    本节总结MySQL的筛选条件,聚合与分组,子查询,连接查询。 MySQL的筛选条件 MySQL中的比较运算符: 比...

  • MySQL--基础三

    本章节将总结MySQL的表结构修改,约束条件,表关系。 表结构修改: 首先查看一下表结构:desc tb_name...

  • MySQL--基础内容

    对MySQL做系统的复习。 用户管理 数据库账号 用户名@可访问列表访问列表种类%--> 代表可以从所有外部主机访...

  • MySQL--基础优化--及索引执行计划-Day6

    MySQL--基础优化--及索引执行计划-Day6 一、上节回顾: 1、作用 优化查询,类似于书中的目录 2、算法...

  • MySQL--启动和关闭MySQL服务

    原文地址: MySQL--启动和关闭MySQL服务 1.Windows下 启动服务 mysqld --consol...

  • [MySQL] [ERR] 2006 - MySQL serve

    发生原因: 内存过小 解决方案: Navicat --> 工具-->服务器监控-->MySQL-->变量 找到ma...

网友评论

    本文标题:MySQL--基础

    本文链接:https://www.haomeiwen.com/subject/wiqjwttx.html