赞
踩
1、创建数据库
create database 数据库名字;
2、选择操作的数据库
use 数据库名字;
3、显示表结构
desc 表名;
4、创建表
create table 表名(字段名字 类型,name varchar(255),age int(11),gender char);
5、插入表内容
insert into 表名 values(对应类型的值,值,值,值),(1,'Tom',18,'f');
6、查询表内容
select * from 表名
7、修改表内容
update 表名 set 字段名 = 值,字段名 = '值' where 字段名 = 值;
update t_user set age = 30,name = 'List' where id = 1;
where是判断条件,修改什么值,这个值是哪个字段等于什么的那个内容
8、删除表内容
delete from 表名 where 字段名 = 值;
delete from t_user where id = 2;
9、删除表
drop table 表名;
10、查询数据库
show databses;
11、查询表
show tables;
12、使用主键约束(要求数据唯一且不能为空)bigint
在字段类型后面加 primary key
创建多字段联合主键
primary key(name,deptId);
13、使用外键约束
两个表必须有一样的id,但是第二个表必须有一个cid,这个cid要与第一个表的id类型一致
在最后加上
constraint 名字 foreign key(cid与第一个表id一致的那个cid) references 第一个主键的表的名字(主键的那个id)
例如:第一个表
create table tb_dept1(
id int(11) primary key,
name varchar(22) not null,
location varchar(50)
);
第二个表
create table tb_emp5(
id int(11) primary key,
name varchar(25),
deptId int(11),
salary float,
constraint fk_emp5_dept1 foreign key(deptId) references tb_dept1(id)
);
14、非空约束
在字段名,类型名后面加 not null
15、唯一性约束
在字段名,类型名后面加 unique
16、默认约束
在字段名,类型名后面加 default 值
17、设置表的自动增加
在数字类型的后面加 auto_increment
修改表结构
1、修改表名
alter table 旧表名 rename 新表明;
2、修改字段的数据类型
alter table 表名 modify 字段名 数据类型;
3、修改字段名
alter table 表名 change 旧字段名 新字段名 数据类型;
外键不能修改,修改的话会报错
4、添加字段
alter table 表名 add 新字段名 数据类型 [约束条件first | after 字段名];
遇到mysql变成 ‘> 只需要在打一个 ’ 就行。
5、删除字段
alter table 表名 drop column 字段名;
6、修改字段排列位置
alter table 表名 modify 字段1 数据类型 first | after 字段2;
在这里插入代码片
7、删除外键约束
alter table 表名 drop foreign key 外键约束名;
8、删除数据表(没有关联的数据表)
drop table if exists 表名;
9、查询索引
show index from 表名
10、删除外键同名索引
drop index 索引名 on 表名
数据类型和运算符
int 数值
varchar 可变字符串
char 定长字符串
float,double表示小数,当用到这俩的时候一般换成decimal小数表示
bigint一般在表示很大的范围数值
text表示很多文本的时候
表示日期类型的
datatime
data
timestamp
time
time有五种写法,但是
year
year的取值范围是1901-2155
两位字符串表示的年值在00-69的时候自动转换为2000到2060年
70-99被转换为1970-1999年
1、基本查询语句,优先级从上到下
1)select 字段名 from 表名 ;
2)[where 条件]
3)[group by 字段名] 分组语句
4)[having 条件] 分组后用的条件,必须和分组一起用,用了where就不能用having
5)[order by 字段名] 根据字段名进行排序 asc是正序 desc是逆序
6)[limit ]
2、查询具体语句:
1、基本查询
select 字段名1,字段名2,...字段名n from 表名 where 查询条件
2、in关键字匹配查询
select 字段名1,字段名2 from 表名 where 字段名 in(值,值)
in是与()里面的任意一个匹配就行
3、between and范围查询(查询日期的时候 yyyy-MM-dd HH:mm:ss.S)表示 年 - 月 日 小时:分钟:秒:毫秒
select 字段名1,字段名2 from 表名 where 字段名 between 值 and 值;
4、like模糊查询
%是通配符,可以表示没有字符或者任意字符,_只表示一个字符
select 字段名1,字段名2 from 表名 where 字段名 like 'b%'
5、查询空值
使用is null 查询某一段位空的记录
select 字段名1,字段名2 from 表名 where 字段名 is null;
6、and的多条件查询
and可以匹配多个限制条件
select 字段名1,字段名2 from 表名 where 条件1 and 条件2;
7、or条件查询
效率没有in快
select 字段名1,字段名2 from 表名 where 条件1 or 条件2;
8、distinct 去重关键字
select distinct 字段名 from 表名;
9、order by 排序关键字 asc升序,desc降序
select 字段名 from 表名 order by 字段名1(根据字段名1进行排序)
10多列排序 order by 字段名1,字段名2
根据俩个条件进行排序
select 字段名1,字段名2 from 表名 order by 字段名1,字段名2;
11、分组查询 group by 字段名
根据某个字段进行分组,一般都是分组重复较多的那个
select 字段名1,字段名2 from 表名 group by 字段名3;
12、使用having过滤分组
在使用分组查询后不能使用where,过滤条件要在分组查询之后使用having关键字进行条件判断
select 字段名1,字段名2 from 表名 group by 字段名 having 条件;
13、分组显示总数求总和 with rollup
select 字段名1,字段名2 from 表名 group by 字段名 with rollup;
14、多字段分组,根据两个字段进行分组
select * from 表名 group by 字段名1,字段名2;
15、group by 和 order by 联合使用
group by 字段名 having 条件 order by 字段名;
16、limit 限制查询的数量就是分页
1)select * from 表名 limit 4; 表示从头开始的前4条数据
2)select * from 表名 limit 4,3;表示从第5个数据开始查询3条数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。