zoukankan      html  css  js  c++  java
  • 数据库和数据库表的基本操作


    数据库操作:
     创建数据库---->create database [if not exists] db_name [character set xxx];
     删除数据库---->drop database db_name;
     修改数据库---->alter database db_name [character set xxx]
     查看所有数据库---->show databases;查看所有数据库
          ---->show create database db_name;查看数据库的创建形式
     使用数据库---->use db_name;--注意:进入到数据库后没办法再退回之前状态,但可以通过use进行切换,
     查看当前的数据库---->select database();
     
    ------------------------------------------------------------------------------------------------

    数据表操作:
     增:
      创建表(类似于一个excel表)
       create table tab_name(
        field1 type[完整性约束条件],
        field2 type,
        ...
        fieldn type
       )[character sex xxx]
     
      --创建一个员工表employee
       create table employee(
        id int primary key auto_increment, --auto_increment意思是主键自动自增,每增加一条记录,id都会自动加1.
        name varchar(20),
        gender bit default 1,--字段gender设置为默认值1
        birthday date,
        entry_date date,
        job varchar(20),
        salary double(4,2) unsigned,
        resume text --注意,这里作为最后一个字段不加逗号
       );
      
      约束:
      primary key (非空且唯一):能够唯一区分出当前记录的字段成为主键!
      unique
      not null
      auto_increment 主键字段必须是数字类型
      外键约束 foreigh key

      删除唯一约束:alter table tab_name drop index name;
      
      增加列(字段)
      alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];
      alter table user add addr varchar(20) not null unique first/after username;
      #添加多个字段
      alter table users2
                add addr varchar(20),
                add age  int first,
                add birth varchar(20) after name;

     删:
      删除一列---->alter table tab_name drop [column] 列名;
      alter table users2
         add salary float(6,2) unsigned not null after name,
         drop addr;
      删除表---->drop table tab_name;
      添加主键,删除主键:
       alter table tab_name add primary key(字段名称,...);
       alter table tab_name drop primary key;
      eg:
      mysql> create table test5(num int auto_increment);
      ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
      create table test(num int primary key auto_increment);
      如何删除主键?
       create table test(num int primary key auto_increment);
       
       alter table test modify id int;--auto_increment没了,但这样写主键仍然存在,所以还要加上下面这句
       alter table test drop primary key;--仅仅用这句也无法直接删除主键
      唯一索引:
       alter table tab_name add unique [index|key] [索引名称] (字段名称,...)
       alter table users add unique(name);
       alter table users add unique key user_name(name);
       
      添加联合索引:
       alter table users add unique index name_age(name,age);
      删除唯一索引:
      alter table tab_name drop {index|key} index_name;

      
     改:
      修改一列的类型:
       alter table tab_name modify 列名 类型 [完整性约束条件] [first|after 字段名];
       alter table tab_name modify age tinyint default 20;
       alter table tab_name modify age int after id;
      
      修改列名:
       alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件] [first|after 字段名]
       alter table users2 change age Age int default 28 first;
       
      修改表名:
       rename table tab_name to new_table_name;
      修改表所用的字符集
       alter table student character set utf8;
     
     查:查看表信息
      desc tab_name 查看表结构
      show column from tab_name 查看表结构
      show tables 查看数据库中所有的表
      show create table tab_name 查看当前数据库表建表语句
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      

  • 相关阅读:
    shell 时间循环
    t
    IntelliJ IDEA For Mac 快捷键
    JVM的默认参数
    qt不同模块使用多语言
    cocos2dx 实现gpu instancing
    so so.*.*
    Android开发-解决 AIDL 中找不到couldn't find import for class错误
    Android Watchdog源码简析--Based on Android 6.0.1
    View绘制流程--Based on kitkat
  • 原文地址:https://www.cnblogs.com/guomeina/p/7230637.html
Copyright © 2011-2022 走看看