myaql基础用法

1.操作文件夹
create database 文件夹名; 创建文件夹
show database; 查看所有文件夹
drop database 文件夹名; 删除文件夹
use 文件夹名 使用该文件夹
2.操作文件
show tables; 查看文件

create table 文件名(
第一列元素 元素类型 null,表示可以为空
第二列元素 元素类型 not null,表示不能为空
第二列元素 元素类型 not null default 默认值,为空时默认为该值
第二列元素 元素类型 auto_increment primary key ,表示自增(将从1开始自增, 当使用delete from 表名 清空表时,再插入元素是。将会继续从该位置自增。
当使用truncate table 表名清空表时,将会从1开始自增)
primary key 表示约束 (不能为空也不能重复 加速查找)
……) engine=使用的引擎(InnoDB)DEFAULT CHARSET=utf8; 创建文件

查找元素
select (也可以指定某一列) from 文件名; 查看文件的所有元素
select 元素对应的列 from 文件名 where 条件; 按照条件进行查找
select 元素对应的列 as 别名 from 文件名; 给对应列起别名
select 元素对应的列,需要新加的列 from 文件名 对应输出数据新加列,列对 应元素与列名相同。
查找条件
支持 =,!=,>,<等。
between A and B,取出对应值在A到B之间的值,为闭区间。
in (a, b , c……) 取出值在对应集合中的值,括号中可写入一个select的查 找语句,但该语句只能读取一个列的元素。
not in (a, b , c……) 取出值不在对应集合中的值。
匹配查找
where 需查找列名 like ‘a%’ 查找该列中以a字符开头的元素
% 表示可含有任意多个字符,若 %a表示以a结尾的元素,%a% 表示含 有a 的元素。
a_表示以a为首字母的含有两个字符的元素。的个数为任意字符的 位数。如x _ _ _ 包含四个下划线,表示以x开头的具 有五位字符的元 素。
部分查找
select * from 表名 limit A; 表示将会输出前A行元素。
select * from 表名 limit A,B; 表示将会输出从A行开始的B行元素。
排序
select * from 表名 order by列名 asc/ desc; 是将某一列的元素按照 大小排序后进行输出。asc表示升序,desc表示降序。
select * from 表名 order by 列1 desc, 列2 desc ……;是按照列1 进行排序,当列1中出现相同时,按照列2进行排序,列1优先级高于列2
例:比如需要查找id为倒数后10行的元素时,可以先将其降序排序后,再输出前10行。
分组
select * from 表名 group by 进行分组的列名;将会根据提供的列中的 元素进行分组,将该列中的相同元素分到一组。
select * from 表名 where 条件 group by 进行分组的列名;可以加入 条件进行筛选,但不能含有函数(如max,min,count,sum,avg)。
select * from 表名 group by 进行分组的列名 having 条件; 可以含有 函数。
select * from 表名 group by 进行分组的列名 order by 列名 desc/asc;
注意:group by 需再where之后,在order by之前。
连表
Select 表名.输出元素的列名 from 表1,表2 on 条件 ;将会根据条 件将两个表连接输出,进行连接的表之间必须要有关系,如没有给出条件, 将会将表中元素组合(一一对应)后进行输出,尽量不要使用
,因为但 表中出现相同列名时将会出现错误。
Select 表名.输出元素的列名 from 表1 inner join表2 on 条件;与上条 作用相同。
Select 表名.输出元素的列名 from 表1 left join表2 on 条件; 将会表1 的元素全部输出,若在表2中没有对应元素,将会为NULL。(right)与 left相反。
Select 表名.输出元素的列名 from 表1 left join表2 left join表3 left join表4 on 条件; 可以将多个表与表1相连接。

插入元素
insert into 文件名(需要插入元素的列) value(对应元素) 在表中插入元素);
insert into 文件名(需要插入元素的列) value(对应元素), (对应元素)……;
insert into 文件名(需要插入元素的列) select 对应的元素名 from 表名;

删除元素
delete from 表名; 清空表元素
truncate table 表名; 清空表元素(速度更快)
delete from 表名 where 条件(如id < 6,将会删除id小于6的元素) 删除表中某些元素。

修改元素
update 表名 set 列 = 修改为的元素; 将会将该列的所有元素修改。
update 表名 set 列 = 修改为的元素 where 条件; 将会将该列中符合条件的元素进行修改。

drop table 表名;     					删除表
desc/describe 表名;    					以表格的形式展示表的信息
show create table 表名 \G;  				以SQL语句的形式展示表的信息
alter table 表名 AUTO_INCREMENT=值;     改变表的自增量的值

外键
create table 表0(
id int not null auto_increment primary key,
num1 int,
num2 int,
constraint 名称1 foreign key (num1) references 表1(表1中的列名),
constraint 名称2 foreign key (num1) references 表2(表2中的列名),
);
这样表0就与表1,表2建立起了联系,num1将会对应表1中的某一列,num2 将会对应表2中的某一列.

自增步长
1.基于会话级的:
show session varitable like ‘auto_inc%’ 查看会话变量
set session auto_increment_increment=值 设置会话步长
2.基于全局级别:
show global varitable like ‘auto_inc%’ 查看全局变量
set global auto_increment_increment=值 设置全局步长

唯一索引:
create table 表名(
id int not null auto_increment primary key,
num1 int,
num2 int,
unique 名称 (num1, num2,……)
);
unique 表示为唯一索引,不能出现重复,当括号中有多个元素时,表示为联合唯一索引,由这些元素组成的索引不能完全一样。可以为空,可以加速查找。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值