MySQL的基本语法


1.创建数据库、表

-- 创建一个测试的数据库
create database test charset = utf8;

-- 选择切换到这个数据库
use test;

-- 创建一个学生表
create table student(
id integer auto_increment primary key, -- 学生编号 数据类型 自增 主键
name varchar(50) not null,			  -- 学生姓名 数据类型 非空
age integer default 18                 -- 学生年龄 数据类型 默认18岁
);

2.修改表字段

--添加列
ALTER TABLE table_name ADD column_name datatype
--alter table student add sex varchar(10) default '男';

--删除列
ALTER TABLE table_name DROP COLUMN column_name

--改表中列的数据类型
ALTER TABLE table_name ALTER COLUMN column_name datatype

3.索引

--创建索引
create index idxname on tablename(column_name)

--创建唯一索引
create UNIQUE index idxname on tablename(column_name)	

--删除索引
drop index idxname

4.视图

--创建视图
create view viewname as select statement
--删除视图
drop view viewname

5.插入数据

-- 插入几条数据 
insert into student(name) values("张三");
insert into student(name) values("张四");

6.删除

-- 删除
drop database test; -- 删除数据库
drop table student; -- 删除表

alter table student drop column age; -- 删除年龄字段(列)

delete from student where id = 3;    -- 根据索引删除某一行数据(行)

7.修改

-- 修改
update student set sex = "女" where id = 2;  -- update 表名 set 需要修改的值 where 需要修改的项

8.查询

-- 查询表
select * from student; -- select 所有 from 表名
select name as 姓名,sex as 性别,age as 年龄 from student; -- select 单独字段 as 汉译,...from 表名(as 可以不写)

--条件查询
select * from student where id=1;

--模糊查询
select * from student where name like '张%';

9.排序

--asc升序/desc降序
select * from student order by age asc|desc 

10.聚合函数

--计数
select count(*) from student;
--最大值/最小值
select max(id)/min(id) from student;
--求和
select min(id) from student;
--平均值
select avg(id) from student;

11.分组查询

--按性别进行分组
select sex from student group by sex;

--与having组合
select sex,count(*) from student group by sex having count(*)>2;

--分页
select * from student limit start,count

12.连接查询

--内连接
select * from t1 inner join t2 on t1.= t2.--右连接(结果为两个表匹配到的数据,右表特有的数据,对于左表中不存在的数据使用 null 填充)
select * from t1 right join t2 on t1.= t2.--左连接(结果为两个表匹配到的数据,左表特有的数据,对于右表中不存在的数据使用 null 填充)
select * from t1 left join t2 on t1.= t2.

13.联合

--union(结果无重复值)
select id,name from student1 union select id,name from student2;
--union all(结果包含重复值)
select id,name from student1 union all select id,name from student2;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值