首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1

查看所有的库:show databases;

进入一个库:use database;

显示所在的库:select database();

开始进行数据表操作:

1,创建数据表:create table user(

           id smallint unsigned aotu_crement not null primary key,  //id,整型无符号位非空主键

           idNum varchar(20) unique key not null,//身份证号,20个变长字符唯一约束非空

           username varchar(20) unique key not null,//用户名,20个变长子符唯一约束非空

           sex enum('1','2','3') default '3',//性别,枚举类型默认为3

           age tinyint unsigned,//年龄,无符号位

           salary float(8,2) unsigned,//薪水,浮点型,小数点后最多2位,小数点前最多6位,无符号位

           privinceid tinyint ,//省份

           foreing key (provinceid) reference provinces (id) on delete cascade //provinces表脑补一下,外键规则见下面

            ...

           );

  注:a,自增字段,一定是主键,主键一定非空

    b,一个表主键约束只能有一个,但是唯一约束可以有很多

    c,枚举类型可为空

    d,使用外键时,父表和子表必须使用同一个引擎:InnoDB

    e,物理外键只有InnoDB引擎支持,myisam引擎不支持,一般开发不使用foreing key(有逻辑关系,但是没有定义外键约束=》逻辑外键)

    e,父表删除或者修改子表外键列匹配行时,on delete的定义为

      @cascade,父表删除,子表外键列匹配行删除

      @set null,父表删除,子表匹配行外键列置null(该列允许为null)

      @restrict,拒绝删除

      @no action,mysql中和restrict一样

2,查看数据表创建时的语法:show create table table_name;

3,查看当前库中的表:show tables;

4,查看所有库中的表:show tables from mysql;

5,查看表结构:show columns from table_name;

6,添加字段:alter table table_name add column_name [after column_name | first];

7,删除字段:alter table table_name drop column_name;

8,添加主键约束:alter table table_name add [constraint PK_tablename_id] primary key (column_name);

9,删除主键约束:alter table table_name drop primary key;

10,添加唯一约束:alter table table_name unique(column_name1,column_name2..);

11,删除唯一约束:

          a,查询index:show index from table_name;

          b,alter table table_name drop index Key_name;

12,添加外键约束:alter  table child_table add  [constraint FK_tablename_column] foreing key (fid) references father_table (id);

*13,删除外键约束:

          a,查看外键约束名称:show create table table_name;

          b,删除外键约束:alter  table table_name drop foreing key constraint;

14,添加默认约束:alter table table_name alter column set default value;

15,删除默认约束:alter table table_name alter column drop default;

16,修改列定义和位置:alter table table_name modify column_name varchar(50) after column_name;

/*********以下两种慎用**************************************************************************************/

17,修改列名称和定义:alter table table_name change column_name1 column_name2 varchar(100);

18,修改表名称:alter table table_name rename table_name1;

 

posted on 2016-06-01 11:51  Frand.D  阅读(163)  评论(0编辑  收藏  举报