MySQL部分语法记录

目录

一:基础调试

登陆:

设置字符:

执行语句解析:

二:数据库

查看数据库列表:

选择数据库:

创建数据库:

删除数据库:

三:表

1.增删查表

创建表:

查看表列:

删除表:

2.表字段相关

表添加新字段:

 表添加值:

已有字段添加主键:

更新/修改表字段值:

删除表内容:

外键关联:

字段约束:

3.查询相关

查询表内容:

查询结果插入新表:

查询表内固定值:

4.函数

表内聚合函数:

字符串函数:

5.排序

表内(升降序)排序:

四:事务

事务的特性:

流程:

事务的并发问题:

事务的隔离级别:

查看隔离级别:

设置隔离级别:


一:基础调试

登陆:

mysql -u root -p密码;

设置字符:

set names gbk;

有部分时候查看表格内容是中文数据会显示不出来,就需要使用“set names gbk”

执行语句解析:

SQL执行成功提示语句,影响的行数,操作执行所消耗的时间

二:数据库

查看数据库列表:

show databases;

选择数据库:

use 数据库名;

创建数据库:

create database 数据库名;

删除数据库:

drop database 数据库名;

三:表

1.增删查表

创建表:

create table 表名(字段1 数据类型(限制长度),字段2 数据类型(限制长度),...);

查看表列:

show tables;

删除表:

drop table 表名;

2.表字段相关

表添加新字段:

alter table 表名 add 字段 数据类型(长度);

 表添加值:

增加部分表字段内容:

insert into 表名 (指定字段) values(值);

增加全部表字段内容:

insert into 表名 values(字段1,值1);

一次增加多个全部表字段内容:

insert into 表名 values(字段1,值1),(字段2,值2),(字段3,值3),...;

已有字段添加主键:

alter table 表名 add constraint 别名 primary key 表名(字段);

更新/修改表字段值:

update 表名 set 字段=值 where 条件;

删除表内容:

delete from 表名 where 字段=值;

delete 字段 from 表名 where 字段=值;

外键关联:

alter table 表名1 add constraint 表名1_fk_表名2 foreign key (表1字段) references 表2(表2字段);

字段约束:

名称关键字说明
非空约束NOT NULL字段不允许为空
默认约束DEFAULT赋予某字段默认值
唯一约束UNIQUE KEY(UK)设置字段值是唯一的,允许为空,但只能又一个空值
主键约束PRIMARY KEY(PK)设置该字段为表的主键,可唯一标识该表记录
外键约束FOREIGN KEY(FK)用于两表之间建立关系,需要指定引用主表的哪一字段
自动增长AUTO_INCREMENT设置该列为自增字段,默认每条自增1,常用于设置主键

3.查询相关

查询表内容:

查询部分字段内容:

select 字段1,字段2... from 表名;

查询全部表内容:

select * from 表名;

查询两个表的共同字段内容:

select 字段1,字段2... from 表1 union select 字段1,字段2... from 表2;

查询结果插入新表:

create table 新表名(select 字段1,字段2,... from 原表名);

查询表内固定值:

select 查询字段 from 表名 where 根据字段='值';

二合一:

select 要找的字段 from 表1 where 根据字段=(select 要找的字段 from 表2 where 根据字段='值');

4.函数

表内聚合函数:

select 函数(字段) from 表名;

字符串函数:

函数名作用
concat(str1,str2,...strn)字符串连接
insert(str,from,to,newstr)替换from到to位置的字符串
lower(str)将字符串转为小写
upper(str)将字符串转为大写
subString(str,num,len)截取num位置开始len长度的字符串

5.排序

表内(升降序)排序:

select * from 表名 order by 根据字段 asc【升序】\desc【降序】;

 

四:事务

事务的特性:

原子性一个事务不可再分割,要么都执行要么都不执行
一致性一个事务执行会使数据从一个一致状态切换到另一个一致状态
隔离性一个事务的执行不受其他事务的干扰
持久性一个事务一旦提交,则会永久的改变数据库的数据

流程:

1.开启事务

   set autocommit=0;

2.编写sql语句(insert、update、delete)

3.提交事务或回滚事务

   commit;或rollback;

   回滚后数据是不会发生变化的

事务的并发问题:

脏读一个事务读取到了另外一个事务未提交的数据
不可重复读同一个事务中,多次读取到的数据不一致
幻读一个事务读取数据时,另一个事务进行更新,导致第一个事务读取到了没更新的数据

事务的隔离级别:

READ UNCOMMITTED
READ COMMITTED可以避免脏读
REPEATABLE READ可以避免脏读、不可重复读和一部分幻读
SERIALIZABLE可以避免脏读、不可重复读和幻读

查看隔离级别:

select @@tx_isolation;

设置隔离级别:

set session transaction isolation level 隔离级别;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值