MySQL简单入门

MySQL简单入门

SQL语句分类:

  • DCL:数据控制(Control)语言 ->定义访问权限和安全级别(可自行百度简单了解就可)

  • DDL:数据定义(Definition)语言->对数据库和表结构的操作

  • DML:数据操作(Manipulation)语言->对表增删改

  • DQL:数据查询(Query)语言->select(相当重要)

    select 查询的列名 from 表名
    
    (join(也可以是其他连接方式,如left join) 表名 on (id)相同条件)
    where 条件(`=、!=、<>、<、>、>=、<=、between...and、in(…)、is null、not、or、and`group by 按条件某列分组 
    
    having  条件<font color="red">(第二次条件:是在前面的操作查询出来后再按这个条件筛选)</font> 
    
    order by 排序的列名(asc升序默认 desc降序)
    

一、简单入门:

1.构建数据库

create database (if not exists) 数据库名;

2.删除数据库

drop database (if exists) 数据库名;

3.创建表

create table 表名 (

字段名1(列名) 类型(宽度) 约束条件,

字段名2 类型(宽度) 约束条件,

字段名3 类型(宽度) 约束条件,

.......

);
  • char和varchar:

    char 长度固定,一般用于性别

    varchar 可变长, 会根据所给的字符串变换合适的长度

  • 建表约束

    not null 非空约束 unique唯一约束,值不允许重复

    primarykey主键,非空且唯一 auto_increment自增

    default 默认值 foreignkey外键

    FOREIGN KEY [column list] REFERENCES [primary key table] ([column list]);
    

    4.修改表

    修改表之添加列:add

    ALTER TABLE 表名 add (列名 列类型,...,列名 列类型);

    修改表之修改列类型:modify

    ALTER TABLE 表名 MODIFY 列名 列的新类型;

    修改表之列名称列类型一起修改:change

    ALTER TABLE 表名 CHANGE 原列名 新列名 列名类型;

    sql操作集合实例:

    --创建数据库,删除数据库
    create database if not exists sql_store2 character set utf8mb4;
    
    drop database if exists sql_test1;
    
    drop table if exists customers;
    create table if not exists customers
    (
      customer_id int primary key auto_increment,
      first_name varchar(50) not null,
      points int not null default 0,
      email varchar(255) not null unique
    );
    
    -- 修改表
    alter table customers
    	add last_name varchar(50) not null after first_name,
    	add city varchar(50) not null,
    	modify column first_name varchar(50) default 'xxx',
    	drop points;
    	
    -- 创建关系
    create table orders
    (
    	order_id int primary key,
      customer_id int not null,
      foreign key fk_orders_customers (customer_id) 
      	references customers (customer_id)
      	on update cascade
      	on delete no action
    )
    

    5.为表插入数据

    insert into 表名(字段名1,字段名2...) values (对应插入对的字段),(对应插入的字段);
    

    6.修改表的数据

    修改某列的全部值:

    update 表名 set 列名1=列值1(,列名2=列值2);

    7.删除表的数据

    delete from 表名 (where 条件);
    

8.聚合函数

COUNT(col) : 统计查询结果的行数
MIN(col): 查询指定列的最小值
MAX(col): 查询指定列的最大值
SUM(col): 求和,返回指定列的总和
AVG(col): 求平均值,返回指定列数据的平均值

二、多表查询

1.内连接:join->只含A与B表的交集

-- 查询订单和相应的客户信息
select order_id,o.customer_id,first_name,last_name
	from orders o join customers c
	on o.customer_id = c.customer_id;

合并多个表

-- 查询订单表,同时显示相应的客户信息和订单状态信息
select o.order_id,o.order_date,c.first_name,c.last_name,os.name
	from orders o
	join customers c on o.customer_id = c.customer_id
	join order_statuses os on o.status = os.order_status_id;
	

隐式关联查询:where连接多表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值