• mysql--对库,表基本操作语句,增删改查


    1.对数据库的操作

    1.选择数据库

    USE 数据库名

    2.创建数据库

    create database 数据库名 charset utf8;
    可以由字母、数字、下划线、@、#、$
    
    区分大小写
    
    唯一性
    
    不能使用关键字如 create select
    
    不能单独使用数字
    
    最长128位
    
    # 基本上跟python或者js的命名规则一样
    数据库命名规则

    3.查看数据库

    show databases;
    show create database db1;
    select database();

    4.删除数据库

    DROP DATABASE 数据库名;
    

    5.修改数据库

    alter database db1 charset utf8;
    

    2.对表的操作  

    创建表:

    create table 表名(
      字段名1 类型[(宽度) 约束条件],
      字段名2 类型[(宽度) 约束条件],
      字段名3 类型[(宽度) 约束条件]
      );

    查看表:

    describe t1; #查看表结构,可简写为:  desc 表名

    查看表详细结构:

    show create table t1G; #查看表详细结构,可加G

    查看默认存储引擎

    show variables like 'storage_engine';
    

      

    1.增

      1.增加字段

    ALTER TABLE 表名    ADD 字段名  数据类型 [完整性约束条件…], 
                                 ADD 字段名  数据类型 [完整性约束条件…];              #注意这里可以通过逗号来分割,一下添加多个约束条件
                              
    ALTER TABLE 表名   ADD 字段名  数据类型 [完整性约束条件…]  FIRST;      #添加这个字段的时候,把它放到第一个字段位置去。
         
    
    ALTER TABLE 表名   ADD 字段名  数据类型 [完整性约束条件…]AFTER 字段名;                 #after是放到后的这个字段的后面去了,我们通过一个first和一个after就可以将新添加的字段放到表的任意字段位置了。     

    2.删

      1.删除字段

     ALTER TABLE 表名 DROP 字段名;

    3.改

      1.修改表名

    ALTER TABLE 表名  RENAME 新表名;

      2.修改字段

    ALTER TABLE 表名  MODIFY  字段名 数据类型 [完整性约束条件…];
          
    ALTER TABLE 表名  CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];  #change比modify还多了个改名字的功能,这一句是只改了一个字段名
          
    ALTER TABLE 表名  CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];#这一句除了改了字段名,还改了数据类型、完整性约束等等的内容
    
    示例:
    1. 修改存储引擎
    mysql> alter table service 
        -> engine=innodb;
    
    2. 添加字段
    mysql> alter table student10
        -> add name varchar(20) not null,
        -> add age int(3) not null default 22;
        
    mysql> alter table student10
        -> add stu_num varchar(10) not null after name;                //添加name字段之后
    
    mysql> alter table student10                        
        -> add sex enum('male','female') default 'male' first;          //添加到最前面
    
    3. 删除字段
    mysql> alter table student10
        -> drop sex;
    
    mysql> alter table service
        -> drop mac;
    
    4. 修改字段类型modify
    mysql> alter table student10
        -> modify age int(3);
    mysql> alter table student10
        -> modify id int(11) not null primary key auto_increment;    //修改为主键
    
    5. 增加约束(针对已有的主键增加auto_increment)
    mysql> alter table student10 modify id int(11) not null primary key auto_increment;
    ERROR 1068 (42000): Multiple primary key defined
    
    mysql> alter table student10 modify id int(11) not null auto_increment;
    Query OK, 0 rows affected (0.01 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    6. 对已经存在的表增加复合主键
    mysql> alter table service2
        -> add primary key(host_ip,port);        
    
    7. 增加主键
    mysql> alter table student1
        -> modify name varchar(10) not null primary key;
    
    8. 增加主键和自动增长
    mysql> alter table student1
        -> modify id int not null primary key auto_increment;
    
    9. 删除主键
    a. 删除自增约束
    mysql> alter table student10 modify id int(11) not null; 
    
    b. 删除主键
    mysql> alter table student10                                 
        -> drop primary key;
    alter修改示例

      3.给一个字段添加外键属性

    alter table 表2名 add foreign key(表2的一个字段) references 表1名(表1的一个字段);
    

      4.修改存储引擎

    alter table 表名  engine = 引擎名 ;     #  alter table tb1 engine = innodb;

      注意一点:在mysql里面表名是不区分大小写的,如果你将一个名为t1的(小写的t1)改名为一个T1(大写的T1),是完全没用的,因为在数据库里面表名都是小写的。

    4.复制表

      基本不会遇到,只能复制表结构(主键,外键,索引,不会复制)  

    create table 新表名 select * from 旧表名;
    
    ##create table new_service select * from service;#这句话的意思是你从service表里面查询出来的数据不要在屏幕上打印了,你直接给我的新表new_service
    

      

  • 相关阅读:
    hibernate_0100_HelloWorld
    MYSQL子查询的五种形式
    JSF是什么?它与Struts是什么关系?
    nop指令的作用
    htmlparser实现从网页上抓取数据(收集)
    The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the
    FCKeditor 在JSP上的完全安装
    Java遍历文件夹的2种方法
    充电电池和充电时间说明
    吃知了有什么好处
  • 原文地址:https://www.cnblogs.com/robertx/p/10279753.html
Copyright © 2020-2023  润新知