查询数据库:show datebases;
创建数据库:create database db_name;
选择数据库:use 数据库名;
退出:exit;
查看所有表:show tables;
创建表:create TABLE biao_name(
字段 类型,
字段 类型,
……
字段 类型);
查表详情:DESC biao_name;(describe)
添加数据:insert INTO biao_name VALUES("","","",……,"");
数据类型:……
删除数据:delete FROM biao_name WHERE 条件;
修改数据:update biao_name SET 字段='' WHERE 条件;
查询数据:select 字段 FROM biao_name WHERE 条 件;
*************************************************
键表约束:
主键:此字段不能重复,且非空,
1、 CREATE TABLE biao_name(
字段 类型 PRIMARY key,
……);
联合主键里:只要主键值加起来不重复
2、 CREATE TABLE biao_name(
字段1 类型 ,
字段2 类型 ,
……,
PRIMARY KEY(字段1,字段2)
);
自增,辅助与主键使用,实现自增长 ,自动生成
3、CREATE TABLE biao_name(
字段 类型 PRIMARY KEY auto_increment,
……);
后加主键
4、alter TABLE biao_name ADD PRIMARY KEY(字段);
删除主键:
5、alter TABLE biao_name DROP PRIMARY KEY;
修改:
6、alter TABLE biao_name modify 字段 类型 PRIMARY KEY;
-------------------------------
外键:两表,在添加数据时,应先添加主表数据,若主表内无其字段,则报错,如果附表使用了主表数据,主表改数据也无法删除
CREATE TABLE biao_name(
字段1 类型 ,
字段2 类型 ,
……,
FOREIGN KEY (本表字段) REFERENCES 主表名(主表字段)
);
-----------------------------------
唯一:约束字段的值不可以重复
1、 CREATE TABLE biao_name(
字段1 类型 ,
字段2 类型 ,
……,
UNIQUE(字段1,字段2)
);
2、ALTER TABLE biao_name UNIQUE(字段);
3、删除:
alter TABLE biao_name DROP INDEX 字段;
4、修改:
alter TABLE biao_name modify 字段 类型 UNIQUE;
-------------------------------------------
非空:约束字段不能为空
1、 CREATE TABLE biao_name(
字段1 类型 NOT NULL ,
字段2 类型 ,
……
);
--------------------------------------------
默认:如果没有给值,就会使用默认值
CREATE TABLE biao_name(
字段1 类型 DEFAULT 值 ,
字段2 类型 ,
……
);
***********************************************
范式设计的越详细,操作越好,但不一定能用到
第一范式:满足所有字段不可再拆分。
例:字段A是地址,可拆分为国、省、市……
第二范式:满足除主键外,其余每个字段都依赖主键;(除联合主键外)
t_name(
字段A主键
字段B
字段A_1 );(因B与A没关系应剔除,否则做联合主键)
第三范式:必须先满足第二范式,除主键以外,其他字段不能有依赖关系
***********************************************
事务:保持两工作能够同步完成;要么同时成功,要么同时失败
1*利用mysql事务
查看事务状态:SELECT @@autocommit;
SET autocommit=0;
查询事务状态:0为关1为开,当事务自动提交关闭后,若关闭,需要手动提交,否则无法储存
事务创建:语句1;语句2;
事务回滚:rollback;可恢复事务前的状态(事务回滚需要MYSQL 的自动提交关闭;)
事务提交:commit;提交后,数据将持久保存
2*手动开一个事务
事务创建:1、begin;
语句1;语句2;
2、start TRANSACTION ;
语句1;语句2;
事务回滚:rollback;无需关心自动提交
事务提交:commit;提交后,数据将持久保存
---------------------------
事务四特征:原子性、一致性、隔离性、持久性
****************************************************
数据库的隔离性:脏读、不可重复读、幻读、串行化
查看数据库的隔离级别:8.x @@global.transaction_isolation;
5.x
select @@global.tx_isolation, @@tx_isolation;
修改隔离级别
help ISOLATION
Name: 'ISOLATION'
Description:
Syntax:
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{
REPEATABLE READ
| READ COMMITTED
| READ UNCOMMITTED
| SERIALIZABLE
}
**********************************************
结果集:
平均值 AVG(结果)
最大 MAX(结果)
总和:count(结果)
日期 :年year(日期型结果)
命名 原名 AS 新名
任意一个ANY(结果集)
所有 all(结果集)
去重复 DISTINCT(结果)
条件:
求区间 1、字段 BETWEEN 最小值 AND 最大值;
2、字段 >最小值 AND 字段>最大值;
定值查询(或) 1、字段 IN(值1,值2,……);
2、字段1=值1 OR 字段2=值2;
升序(默认):order by 字段 asc 降序:order by 字段 desc
升降混用:order by 字段 asc,字段 desc;
分组:group BY 字段;
交集 结果1 UNION 结果2; 查询1 UNION 查询2;
****************************************************
多表查询:
1、俩表查值
SELECT t1.a,t2.b FROM t1,t2 WHERE t1.a=t2.a;
2、仨表查询
SELECT t1.a,t2.b,t3.c FROM t1,t2,t3 WHERE t1.a=t2.a AND t2.b=t3.b;
***************************************
复制表:查询数据库:show datebases;
创建数据库:create database db_name;
选择数据库:use 数据库名;
退出:exit;
查看所有表:show tables;
创建表:create TABLE biao_name(
字段 类型,
字段 类型,
……
字段 类型);
查表详情:DESC biao_name;(describe)
添加数据:insert INTO biao_name
VALUES("","","",……,"");
数据类型:……
删除数据:delete FROM biao_name WHERE 条件;
修改数据:update biao_name SET 字段='' WHERE 条件;
查询数据:select 字段 FROM biao_name WHERE 条 件;
*************************************************
键表约束:
主键:此字段不能重复,且非空,
1、 CREATE TABLE biao_name(
字段 类型 PRIMARY key,
……);
联合主键里:只要主键值加起来不重复
2、 CREATE TABLE biao_name(
字段1 类型 ,
字段2 类型 ,
……,
PRIMARY KEY(字段1,字段2)
);
自增,辅助与主键使用,实现自增长 ,自动生成
3、CREATE TABLE biao_name(
字段 类型 PRIMARY KEY auto_increment,
……);
后加主键
4、alter TABLE biao_name ADD PRIMARY KEY(字段);
删除主键:
5、alter TABLE biao_name DROP PRIMARY KEY;
修改:
6、alter TABLE biao_name modify 字段 类型 PRIMARY KEY;
-------------------------------
外键:两表,在添加数据时,应先添加主表数据,若主表内无其字段,则报错,如果附表使用了主表数据,主表改数据也无法删除
CREATE TABLE biao_name(
字段1 类型 ,
字段2 类型 ,
……,
FOREIGN KEY (本表字段) REFERENCES 主表名(主表字段)
);
-----------------------------------
唯一:约束字段的值不可以重复
1、 CREATE TABLE biao_name(
字段1 类型 ,
字段2 类型 ,
……,
UNIQUE(字段1,字段2)
);
2、ALTER TABLE biao_name UNIQUE(字段);
3、删除:
alter TABLE biao_name DROP INDEX 字段;
4、修改:
alter TABLE biao_name modify 字段 类型 UNIQUE;
-------------------------------------------
非空:约束字段不能为空
1、 CREATE TABLE biao_name(
字段1 类型 NOT NULL ,
字段2 类型 ,
……
);
--------------------------------------------
默认:如果没有给值,就会使用默认值
CREATE TABLE biao_name(
字段1 类型 DEFAULT 值 ,
字段2 类型 ,
……
);
***********************************************
范式设计的越详细,操作越好,但不一定能用到
第一范式:满足所有字段不可再拆分。
例:字段A是地址,可拆分为国、省、市……
第二范式:满足除主键外,其余每个字段都依赖主键;(除联合主键外)
t_name(
字段A主键
字段B
字段A_1 );(因B与A没关系应剔除,否则做联合主键)
第三范式:必须先满足第二范式,除主键以外,其他字段不能有依赖关系
***********************************************
事务:保持两工作能够同步完成;要么同时成功,要么同时失败
1*利用mysql事务
查看事务状态:SELECT @@autocommit;
SET autocommit=0;
查询事务状态:0为关1为开,当事务自动提交关闭后,若关闭,需要手动提交,否则无法储存
事务创建:语句1;语句2;
事务回滚:rollback;可恢复事务前的状态(事务回滚需要MYSQL 的自动提交关闭;)
事务提交:commit;提交后,数据将持久保存
2*手动开一个事务
事务创建:1、begin;
语句1;语句2;
2、start TRANSACTION ;
语句1;语句2;
事务回滚:rollback;无需关心自动提交
事务提交:commit;提交后,数据将持久保存
---------------------------
事务四特征:原子性、一致性、隔离性、持久性
****************************************************
数据库的隔离性:脏读、不可重复读、幻读、串行化
查看数据库的隔离级别:8.x @@global.transaction_isolation;
5.x
select @@global.tx_isolation, @@tx_isolation;
修改隔离级别
help ISOLATION
Name: 'ISOLATION'
Description:
Syntax:
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{
REPEATABLE READ
| READ COMMITTED
| READ UNCOMMITTED
| SERIALIZABLE
}
**********************************************
结果集:
平均值 AVG(结果)
最大 MAX(结果)
总和:count(结果)
日期 :年year(日期型结果)
命名 原名 AS 新名
任意一个ANY(结果集)
所有 all(结果集)
去重复 DISTINCT(结果)
条件:
求区间 1、字段 BETWEEN 最小值 AND 最大值;
2、字段 >最小值 AND 字段>最大值;
定值查询(或) 1、字段 IN(值1,值2,……);
2、字段1=值1 OR 字段2=值2;
升序(默认):order by 字段 asc 降序:order by 字段 desc
升降混用:order by 字段 asc,字段 desc;
分组:group BY 字段;
交集 结果1 UNION 结果2; 查询1 UNION 查询2;
****************************************************
多表查询:
1、俩表查值
SELECT t1.a,t2.b FROM t1,t2 WHERE t1.a=t2.a;
2、仨表查询
SELECT t1.a,t2.b,t3.c FROM t1,t2,t3 WHERE t1.a=t2.a AND t2.b=t3.b;
***************************************
复制表: