• MySQL基础(2) | 数据库、数据表


    MySQL基础(2) | 数据库、数据表


    基本语法

    1. 数据库
    #创建
    CREATE DATABASE IF NOT EXISTS test_db_char
        DEFAULT CHARACTER SET utf8;
    		
    #显示创建详情
    SHOW CREATE DATABASE test_db_char;
    		
    #修改
    ALTER DATABASE test_db_char
    	DEFAULT CHARACTER SET gbk;
    
    #删除
    DROP DATABASE IF EXISTS test_db_char;
    
    #选择数据库
    USE test_db;
    

    数据表

    #创建
    create table mygoods(
      	g_id int AUTO_INCREMENT primary key, #创建表时指定主键
    	g_name varchar(20),
    	g_price double,
    	g_count int
    )engine=innodb default CHARSET=utf8;
    
    create table myperson(
    	p_id int AUTO_INCREMENT primary key,
    	p_name varchar(20),
    	g_id int,
    	foreign key fk_pid(g_id) #创建表时指定外键
    	references mygoods(g_id)
    );
    
    #显示创建详情
    show create table myperson;
    

    修改【重要】

    1. 添加字段
    ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
    # 新字段名为需要添加的字段的名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到指定的已存在的字段名的后面,不指定则默认将新添加的字段设置为数据表的最后列。
    
    alter table mygoods add column g_code varchar(20) after g_price;
    
    1. 修改字段类型
    ALTER TABLE <表名> MODIFY <字段名> <数据类型>
    # 其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。
    
    alter table mygoods modify g_code int;
    
    1. 删除字段
    ALTER TABLE <表名> DROP <字段名>;
    #其中,字段名指需要从表中删除的字段的名称。
    
    alter table mygoods drop g_code;
    
    1. 修改字段名
    ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
    #其中,旧字段名指修改前的字段名;新字段名指修改后的字段名;新数据类型指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样,但数据类型不能为空。
    
    alter table mygoods change g_code gg_code varchar(30);
    
    1. 修改表名
    ALTER TABLE <旧表名> RENAME [TO] <新表名>;
    #其中,TO 为可选参数,使用与否均不影响结果。
     
    alter table mygoods rename my_goods;
    
    1. 删除表
    DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]	
    
    1. 添加主键约束
    ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);
    
    alter table mygoods add primary key (g_name);
    
    1. 添加外键约束
    ALTER TABLE <数据表名> ADD CONSTRAINT <索引名>
    FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);
    
    alter table myperson add constraint fk_myperson_1
    foreign key(p_id) references my_goods(g_id)
    
    1. 删除外键约束
    ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
    
    alter table myperson drop foreign key myperson_ibfk_1
    
    1. 添加唯一约束
    ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
    
    alter table mygoods add constraint unique_price UNIQUE(g_price)
    
    1. 删除唯一约束
    ALTER TABLE <表名> DROP INDEX <唯一约束名>;
    
    alter table mygoods drop index unique_price
    
    1. 非空约束(not null),默认约束(default)

    2. 显示表中所有约束

    show create table table_name
    

    参考:http://c.biancheng.net/view/2413.html

  • 相关阅读:
    python设计模式-单例模式
    bash脚本条件测试总结
    Python网络编程:IO多路复用
    Python面向对象高级编程:@property--把方法变为属性
    Sql Server存储过程基本语法
    接口幂等性
    [转载]使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案
    C#分布式事务解决方案-TransactionScope
    SOA架构和微服务架构的区别
    Atlas实现数据库读写分离
  • 原文地址:https://www.cnblogs.com/iwsx/p/12348934.html
Copyright © 2020-2023  润新知