mysql 入门

sql 基础

先装服务 → 数据库 → 数据表 →增删改查

stdent 表 : (id,name, age)为字段 (1, yasuo,21)为记录

idnameage
1yasuo21
2vn1
  • DML 数据操作语言 insert update delete
  • DDL 数据定义语言 create drop alter
  • DQL 数据查询语言 select
  • DCL 数据控制语言 控制事务 commit rollback
创数据库

utf8 : 支持中文 utf8_general_ci : 校对规则, 比对字符串大小

create database db1
create database db1 default character set utf8 collate utf8_general_ci
创数据表

在数据库下建数据表,添加字段 name

use table 数据表 (
   // 列信息
      字段名  数据类型 (约束) 
);
use db1;
create table student
(
    id int,
    name varchar (11),
    age int
);
改表结构
  • 添加字段名
  • 修改字段名
  • 改字段属性
alter table 表名 add     字段名 数据类型;
alter table 表名 change  旧字段 新字段 数据类型;
alter table 表名 alter  column 字段名 set default 111;
删数据库
drop  datebase 数据库名;
删数据表
drop  table 表名;
改数据表

insert into  数据表(字段列表)values (值列表)
insert into  student  values (1, 'name', 17);  # 字段列表缺省,添加整行
insert into  student(id, name, age) values (1, 'yasuo', 21);
insert into  student(id, name, age) values (1, 'yasuo', 21), (2, 'vn', 19)  

delete  from 表名;  # 删整张表
delete from sudent where id = 1;  # 条件删除 id = 1 的记录

update 表名  set 字段名 = 字段值 ;   # 修改整列
update student set name = 'update', age = 35 where id = 1 ;  # 条件修改
查数据表
select 字段列表 from 表名 ; # 基本查询

聚合函数

  • 对一组值执行计算并返回单一的值
  • avg , count , min , max, sum …
select sum(字段) from 表名;
select sum(id) from student;    # 返回 id 字段值求和

分组查询

select * from 表名 group by name,age;
# 按 name 与 age 的组合分组,不是去重!

排序查询

select * from 表名 order by a, b, c 
# 排序优先级 a > b > c
特殊运算
  • between and 判断是否在区间内
select *, id between 1 and 3 from student
  • where in ( ) 判断是否在集合内
select * from student where id in (1,2,3);
  • is null 判空
select name is null from student;
  • like 模糊查询
select * from student where name like  '%a%';
主键

主键:表的一个字段,用来标识行数据,自增主键: 常用的代理主键

外键:表的一个字段,来和其他表连接,外键约束 :从表的值来自主表

create  table db1.t1 (
    id int primary key auto_increment,         # 定义自增主键
  
    uid int ,
    foreign key (uid)   references user(id)    # 定义关联外键
);

alter table 表民 drop primary key; # 删除主键约束

索引

索引(index): 加字段上,加速条件查询

# 方式一
alter table  student add   index  in_id(id)    
alter table  student drop  index in_id

# 方式二
create index   in_id on student(id)
drop   index   in_id on student;
视图

视图(view):数据库的虚拟表, 不同用户以呈现同一张表的不同形式

create view view_1 as (select id, name from student);  # 加视图
drop   view 视图名 ;                                    # 删视图
触发器

触发器(trigger):被动触发,捆绑执行 sql 语句

create trigger  t_auto          # table2 的id同步更新
    after insert on table1
    for each row
    begin
        insert into table2(id) values (new.id );
    end
存储过程

存储过程 :(Stored Procedure)

创建存储过程

#  统计
create procedure count_stdent (out count_num int)
begin
    select count(*) into count_num from student;
end;

调用存储过程

call count_stdent(@num);
select @num

删除存储过程

drop procedure count_stdent
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值