mysql基本使用

mysql 进入 标点符号全部用英文的
mysql -uroot -p密码
或mysql -uroot -p
密码

show databases; 看数据库
create database 库名; 创建数据库
drop database 库名; 删除数据库
use 库名; 使用该数据库
show tables; 查看该库下的表
create table students( 创建表student
id int, id 数字
name varchar(20), name 字符长度20
mes text, mes 文本
birthday datetime, birthday ‘1990-1-1 1:2:1’
Chinese float, chinese 数字可以有小数点
math double, math 和float相似
sex char(2) sex 字符长度限制为两个
);

删除表
drop table students;

修改
1.添加字段
alter table students add column score float;
column 可不用
表格添加score float;后面可以再加上after id
那么添加的就会排在id的后面;
2.删除字段
alter table students drop mes;
删除mes
3. 修改字段
类型
alter table students modify name varchar(30);
name的字符长度改为30,varchar可以改为其他的
名称
alter table students change mes mem text;
mes改为mem
表名称
alter table students rename to student;
to 可不用
rename table students to student;
表名students 改为student

数据管理
1增加数据
insert into student(id,name) value(1,‘吕布’);
(id,name )对应的加入(1,吕布)
insert into student value(1,‘zhugliang’,‘fajhfajk’,‘199-1-1 1:2:2’,88,88,‘nan’);
2删除数据行(慎用)
delete from student;
表student内容全删 (可回滚)
delete from student where id=1;
带条件删除,删id=1 的这些行

truncate table student;
内容全删(不可回滚)

修改字段
update student set name=‘guanyunchang’ where id=1;
在id=1这些行里的name都改为guangyunchang
update student set name=‘xiaoqi’;
表里的name全部改为xiaoqi

1.查询
所有字段
select * from student;
指定字段,列查询
select id,name from studen;
指定别名
select id ,name as ‘姓名’ from student;
等于
select id ,name ‘姓名’ from student;
合并列
select (a+b+c) from student;
去重
select distinct name from student;
条件查询
逻辑查询 and 和 or
select * from student where id=1 and name=‘小兰’;
查id=1并且name 为小兰的列
select * from student where id=1 or name=‘小兰’;
查id=1或者name为小兰的列
比较查询> < <= >= <>
大于,小于,小于等于,大于等于,不等于
select * from student where english>70 and english<90;
select * from student where english between 70 and 90;
一样,查英文70到90分的列
判空查询
select * from student where english is null;
select * from student where english=null;
查english是null的列
select * from student where english is not null;
查english不是null的列
select * from student where english=’’;
查english是空字符的列

模糊查询
% 匹配多个字符,_匹配单个字符
select * from student where name like ‘%a’;
‘%a’ 左多;'a%‘右多;’%a%'左右全
a’左一 ;'a’ 右一; ‘a’ 都可一
聚合查询
sum()总和;avg()平均;max()最大;min()最小
count()个数;一般后面加group by 某个名称用来分开,分组
select sum(a+s=f) as ‘总’ from student;
avg
max
min
count

分页查询
select * from student limit 0,2;
select * from student limit 2,2;
limit (当前页-1)*每页行数, 多少行
(1-1)x 2=0 2
(2-1)x 2=2 2

排序查询
select * from student order by english;
按english的大小的升序排序(默认)
后面加asc 升序
后面加desc 降序
select * from student order by english ,id asc;
只作用前者
分组查询
select english from student group by id;
查english按id分组
select english from student group by id having english>90;
查english按id分组(并且条件满足english大于90)

alter table 表名 convert to character utf8;
给字符为utf8
约束
非空约束
id int not null,
唯一约束
id int unique,
默认值
address varchar(20) default ‘小西湖’;
关键词
id int primary key,
是唯一加上不为空
只增长
id int primary key auto_increment;
默认从1开始增长,后加=数字就从你加的数字开始增长

两表关联
先要有可以关联的某个名称
比如主表student的class与副表id关联
则创副表id的时候
写id int references student(class),

想要改主表而影响副表时
加上on update cascade;
id int references student(class) on update cascade;
多表查询时
select 查的内容
from a ,b
where a.id=b.id;

多表查询时
select 查的内容
from a ,b
where a.id=b.id and 条件;

多表查询时
select 查的内容
from a ,b,c
where a.id=b.id and b.id=c.id and 条件;

select 查的内容
from a inner jion b
on b.id=a.id and 条件;

select 查的内容
from a left/right jion b
on b.id=a.id and 条件;

select 查的内容
from a left/right jion b
on b.id=a.id and left/right/inner c
on b,id=c.id group by 名称 having 条件
order by 名称 asc/desc;
分组,条件,排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值