MySQL--基础


帮助

?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--基础)