Win 使用终端创建mysql数据库及使用(5)

     删除你创建过的数据库newsql里面的所有表

  这里必须安装了mysql,并且知道用户名密码IP地址。因为我用的window,所以只介绍Win使用cmd创建的方式

  首先windown+R 出现窗口输入cmd回车

  

  输入下面,首先是你的mysql主机地址,root是你的用户名(如果改变要替换)然后回车,会出现输入mysql登录密码命令行

  mysql -h xxx.xx.xx.xxx -u root -p 

  

  如果密码正确会出现如下窗口

 

  如果要查看你在这个主机下有几个数据库输入命令

 show databases;   // ;这个符号是必须的

  

  这些是我拥有的数据库,

  一、创建新的数据库

create  database newSql default charset=utf8;  //创建默认utf-8中文的数据库newSql

  二、选择你的数据库

use newSql;

  回车,输入select Database(); 查看你的选择

  

  

  1、创建表,和命名表里面拥有的字段

mysql>  create table company (
    -> id int auto_increment primary key,
    -> name varchar(20)
    -> othervarchar(20)
    -> createTime timestamp default current_timestamp, // 创建时间,当创建一个字段自动设置当前时间
    -> updateTime timestamp default current_timestamp on update current_timestamp comment "最后一次更新时间" // 自动设置最后一次更新时的时间 , comment 备注
    -> );
Query OK, 0 rows affected (0.06 sec)
mysql>

   约束条件(最好大写容易区分,符合标准):

    •   primary key    -----------标识为该表的主键,是唯一标识
    •   foreign key    -----------标识为该表的外键,是与之联系某表的主键
    •   not null         ------------标识该属性不为空
    •   unique         ------------标识该属性的值是唯一的
    •   auto_increment  ------标识该属性的值自动增加
    •   default        ------------为该属性设置默认值

  

  2、给表设置外键

       如果在创建时候都设置外键那么是

mysql>  create table school (
   -> id int auto_increment primary key,
   -> company_id int,
   -> name varchar(20),
   -> other varchar(100),
  -> createTime timestamp default current_timestamp, // 创建时间,当创建一个字段自动设置当前时间
-> updateTime timestamp default current_timestamp on update current_timestamp comment "最后一次更新时间" // 自动设置最后一次更新时的时间 , comment 备注
-> constraint COMPANYID foreign key (company_id) references company(id)
  -> );
Query OK, 0 rows affected (0.06 sec) mysql>

  外键注释:

    •  给表school添加外键compay_id关联的是表company的id,外键的索引值是COMPANYID
    • 如果不指定索引值,系统会自动生成 格式: foreign key (company_id) references company(id) 

  如果是已经创建了表添加外键

alter table school add constraint COMPANYID foreign key (company_id) references company(id);     //设置了索引值
alter table school add  foreign key (company_id) references company(id);  // 未设置索引值

 

  3、给表里的字段添加内容

insert into company(name,other) values("木子",15); // 添加name和other字段值,id这里设置了自增

  

  4、 修改字段数据类型

alter table company modify name varchar(1000);     修改company表中的name字段的数据类型    最大为1000个字符

  

  5、修改字段名字

alter table company change other desc varchar(2000);  // 修改表company里面字段other为desc字段,数据类型为varchar最大2000个字符

  

  6、 增加字段

alter table company add description varchar(40) NOT NULL after name;        // 给表company添加字段description 数据类型为字符,最大40个字符 并且默认不为空,
 字段放在name字段后面

  

  输入

  drop database newsql;   删除数据库newsql

  drop table company;  删除表company(这里是没被关联的普通表)

  如果关联了外键

    set foreign_key_checks = 0; // 先设置外键约束检查关闭

    drop table company; // 在删除表

    set foreign_key_checks = 1; // 最后开启外键约束检查,以保持表结构完整性

        或者先删除子表          再删除该表

  show tables; 可以查看你创建了那些表,

  alter table company rename companys;   修改表名字     修改表company为companys

  alter table company drop other;                 删除表company里面的字段other

  desc company;  查看这个表里面的字段详情

  truncate table company;  清空company表中的数据

  update company set name="李二" where id=1;  (如果不写where及后面的表示修改所有的)

  select name from company where id=1;  (表示查看数据表company里面的id=1的name字段的值)

  delete  from company where id=1;(删除company表里面的id=1的数据)

原文地址:https://www.cnblogs.com/muzimumu/p/11898748.html