首先登陆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. DragSelectRecyclerView 长按滑动多选图像android特效

    高仿Google相册多选效果,长按某一item后然后滑动选择到任意item,效果很不错,适合相册页面多选部分效果. 本例子主要是自定义DragSelectRecyclerView通过如下展示gridv ...

  2. 驱动学习---PAE--virtual address to physics address

    PAE是Physical Address Extension的缩写,即物理地址扩展.简单来说,就是把IA-32处理器的寻址能力从原来的4GB扩展到64GB.寻址4GB空间,要求物理地址的宽度为32位. ...

  3. windbg学习----.process

    .process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe kd> .proc ...

  4. .NET core mvc on Docker

    安装Docker 参考:http://www.cnblogs.com/windchen/p/6224233.html 下载.NET CORE MVC镜像 sudo docker pull regist ...

  5. 第8章 BOM

    8.1 window对象 window有双重的角色,既可以通过JavaScript访问浏览器窗口的接口,又是ECMAScript规定的Global对象. 全局作用域中声明的变量.函数都会变成windo ...

  6. redis的安装和启动

    Windows下Redis的安装及PHP扩展使用 时间 2014-10-28 17:47:09  CSDN博客 原文  http://blog.csdn.net/wyqwclsn/article/de ...

  7. linux随笔2

    ---恢复内容开始--- 2016,12,20 在linux里面不写这些扩展名,也是可以的,但是写这些扩展名是为了个管理员写的,好区分,但是linux本身不依靠扩展名来区分文件类型 ~~~~~~~~~ ...

  8. 如何在HTML中加载Flash(2种实现方法)_HTML/Xhtml_网页制作

    点评:如何在HTML中加载Flash,为网页添加更多的色彩,普通的网页以无法满足用户的需求,接下来为大家介绍下2种在HTML中加载Flash的方法,感兴趣的各位可以适当参考下,希望对你有所帮助 第一种 ...

  9. Android(Intent 学习)

    Intent 是一个消息传递对象,Intent可以通过多种方式促进组件之间的通信,基本的三种用例: 启动Acitivity: Activity表示应用中的一个屏幕,通过将Intent传递给startA ...

  10. C# 从字符串中取出英文字母

    string fid = context.Request["value2"];//fid=FCT1234 Regex re = new Regex(@"[a-zA-Z]+ ...