zoukankan      html  css  js  c++  java
  • Day06-mysql

     

    数据库

    进入数据库 mysql -u用户名 -p密码

    数据库层次

    • 数据库的创建

    create database 数据库的名 character set 字符集 collate 校对规则

    • 数据库的删除

    drop database 数据库名

    • 数据库的修改

    alter database 数据库 character set 字符集(utf8)

    • 数据库的查询

    show databases; show create database 数据库的名字 select database();

    • 数据库的切换

    use 数据库的名字

    表层次

    • 表的创建:

    create table 表名( ​列名 列的类型 列的约束, 列名 列的类型 列的约束 )

    列的约束:

    primary key: 主键约束:唯一不为空

    PRIMARY(sid,age)联合主键:只生效一个

    unique: 唯一约束:值可为空,可以加多个null, 一个表可以多个unique .

    ​not null: 非空约束

    ​自动增长: auto_increment

    default:‘默认语句’   。 这里的语句会自动执行,无需数据填写

    也可以写上null 。

    • 表的删除

    drop table 表名

    • 表的修改

    alter table 表名 (add, modify, change , drop) ​rename table 旧表名 to 新表名 ​

    alter table 原表名 rename 新的表名

    alter table 表名 character set 字符集

    • 查询表结构

    show tables; 查询出所有的表

    show create table 表名 : 表的创建语句, 表的定义 desc 表名  表的结构

     外键:

    商品表和分类表数据通过外键category_cid相连。

    外键作用进行多表数据关联。 多表关系中是存在主表从表的

     主表数据来源表/主键ID所在表

    例如分类表----是分类名称数据的来源表主键CID所在表

    从表数据引用/外键所在表

    例如商品表---引用了分类表数据外键category_cid所在表

    外键特点

    从表外键指向主表主键

    从表外键的数据类型和长度必须和主表主键数据类型和长度 一致

    声明外键约束:是为从表添加

    格式:

    alter table 从表 add  [constraint  外键名称]  foreign key (从表外键字段名) references 主表 (主表的主键);

    1、 从表外键的数据类型和长度必须和主表主键数据类型和长度 一致

    2、从表和主表为空或者数据必须完整

     

    l删除外键约束:(了解,开发慎用) 

     

    alter table 从表 drop foreign key 外键名称

    添加多对多外键实例:

    CREATE TABLE actor(
        aid INT PRIMARY KEY,
        NAME VARCHAR(30)
    );
    CREATE TABLE role(
        rid INT PRIMARY KEY,
        NAME VARCHAR(30)
    );
    CREATE TABLE actor_role(
    arid INT PRIMARY KEY ,
    aid INT,
    rid INT
    )
    ALTER TABLE actor_role ADD FOREIGN KEY(aid) REFERENCES actor(aid);
    ALTER TABLE actor_role ADD FOREIGN KEY (rid) REFERENCES role(rid);

     

    添加一对多外键实例:

    CREATE TABLE province(
        id INT PRIMARY KEY,
        NAME VARCHAR(20),
        description VARCHAR(20)
    );
    CREATE TABLE city(
        id INT PRIMARY KEY,
        pid INT ,
        NAME VARCHAR(20),
        description VARCHAR(20)
    );
    DROP TABLE city ;
    ALTER TABLE city ADD FOREIGN KEY (pid) REFERENCES province(id) ;

     

     

     

    • 表中数据的操作

    插入: insert into 表名(列名,列名) values(值1,值2);

    ​删除: delete from 表名 [where 条件] ​

    修改: update 表名 set 列名='值' ,列名='值' [where 条件]; ​

    查询: select [distinct] * [列名1,列名2] from 表名 [where 条件]

    • 其他

    as关键字: 别名 where条件后面:

    关系运算符: > >= < <= != <> --

    判断某一列是否为空: is null is not null

    ​in 在某范围内 ​between...and ​

    逻辑运算符: and or not ​

    模糊查询: like ​_ : 代表单个字符 ​%: 代表的是多个字符 ​

    分组: group by ​ 分组之后条件过滤: having

    ​聚合函数: sum() ,avg() , count() ,max(), min() 排序: order by (asc 升序, desc 降序) ​

    数据库的备份:

    导出: mysqldump -uroot -p密码 目标库>f://aa.sql [导出文件路径]  会自动创建

    导入:mysql -uroot -p密码 目标库<f:/sss.sql 【路径】 需要手动创建好一个数据库 然后导入到这个数据库。

  • 相关阅读:
    vim删除以#,空格开头的行
    Element-ui 中对表单进行验证
    VUE页面实现加载外部HTML方法
    vue-cli2嵌入html
    文字环绕图片
    LocalDate计算两个日期相差天数
    springboot+vue脚手架使用nginx前后端分离
    通过 Netty、ZooKeeper 手撸一个 RPC 服务
    Spring Native 项目,把 Spring 项目编译成原生程序!
    印象笔记吐槽
  • 原文地址:https://www.cnblogs.com/ych961107/p/11374426.html
Copyright © 2011-2022 走看看