首先登陆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;

mysql数据表操作&库操作的更多相关文章

  1. 对Mysql数据表本身进行操作

    创建实验环境 mysql> create database test_db; Query OK, 1 row affected (0.00 sec) mysql> use test_db; ...

  2. mysql数据表的字段操作

    CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, ` ...

  3. MySQL 数据表操作

    MySQL 数据表操作 创建MySQL数据表需要以下信息: -表名: -表字段名: -定义每个表字段: 一.创建数据表 1)mysql> create  table  table_name (c ...

  4. mysql(三) 数据表的基本操作操作

    mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...

  5. mysql 数据表操作 目录

    mysql 数据表操作 存储引擎介绍 mysql 使用存储引擎 mysql 数据表的增删改查 mysql 数据类型 mysql 约束条件

  6. 设置mysql数据表列自动递增以及数据行插入操作

    创建mysql数据表,设置id列递增.主键create table running_log ( id int primary key auto_increment, routename varchar ...

  7. .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

    .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary> /// MySql ...

  8. 用Myisamchk让MySQL数据表更健康

    用Myisamchk让MySQL数据表更健康 2011-03-15 09:15 水太深 ITPUB 字号:T | T 为了让MySQL数据库中的数据表“更健康”,就需要对其进行定期体检.在这里笔者推荐 ...

  9. (转)MySQL数据表中带LIKE的字符匹配查询

    MySQL数据表中带LIKE的字符匹配查询 2014年07月15日09:56    百科369 MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的 ...

  10. 设置MySQL数据表主键

    设置MySQL数据表主键: 使用“primary key”关键字创建主键数据列.被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合.如下SQL语句所示: My ...

随机推荐

  1. 【转】HTML转义字符大全

    ISO Latin-1字符集:  — 制表符Horizontal tab  — 换行Line feed  — 回车Carriage Return  — Space ! ! — 惊叹号Exclamati ...

  2. CheckedComboBoxEdit 重置初始化值的方法

    CheckedComboBoxEdit ccbgb; ccbgb绑定方式ccbgb .Properties .DataSource =数据集; ccbgb.Properties.DisplayMemb ...

  3. spring的helloworld

    前两天接到了支付宝的电话面试,问了我好多java中的知识,知识姐不看java好多年,这猛一问知道的东西还真是不少啊.趁着现在精力还算是比较旺盛,再把spring重新理一理,为下一次面试做准备. 学习每 ...

  4. oracle+ibatis 批量插入-支持序列自增

    首先请先看我前面一篇帖子了解oracle批量插入的sql:[oracle 批量插入-支持序列自增] 我用的ibatis2.0,sqlMap文件引入的标签如下: <!DOCTYPE sqlMap ...

  5. frame busting

    [frame busting] 参考:http://book.51cto.com/art/201204/330076.htm

  6. html初学者笔记01

    一.Html简介 HTML 是一种标记语言 忽略大小写,语法宽松 使用 HTML 标记和元素,可以: 控制页面和内容的外观 发布联机文档 使用 HTML 文档中插入的链接检索联机信息 创建联机表单,收 ...

  7. UML类图画法及其之间的几种关系(转)

    UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的 ...

  8. 解决git无法clone提示443以及配置git代理方法

    git config --global http.proxy 'socks5://127.0.0.1:1080' 设置完成之后再次clone就会成功了(当然前提是你有s's而且在开启的前提下)

  9. socket网络通信

    1.socket通常也称作"套接字",用于描述IP地址和端口.在internet上的主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个socket,并绑定到一个端口上 ...

  10. python 2.4 与 python 3.0 的比较

    转过来,留着日后查看 [转自:]http://hi.baidu.com/autoitcn/blog/item/5f41973294b5fc4fac4b5f77.html python 2.4 与 py ...