mysql数据表操作&库操作
首先登陆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数据表操作&库操作的更多相关文章
- 对Mysql数据表本身进行操作
创建实验环境 mysql> create database test_db; Query OK, 1 row affected (0.00 sec) mysql> use test_db; ...
- mysql数据表的字段操作
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, ` ...
- MySQL 数据表操作
MySQL 数据表操作 创建MySQL数据表需要以下信息: -表名: -表字段名: -定义每个表字段: 一.创建数据表 1)mysql> create table table_name (c ...
- mysql(三) 数据表的基本操作操作
mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...
- mysql 数据表操作 目录
mysql 数据表操作 存储引擎介绍 mysql 使用存储引擎 mysql 数据表的增删改查 mysql 数据类型 mysql 约束条件
- 设置mysql数据表列自动递增以及数据行插入操作
创建mysql数据表,设置id列递增.主键create table running_log ( id int primary key auto_increment, routename varchar ...
- .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper
.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary> /// MySql ...
- 用Myisamchk让MySQL数据表更健康
用Myisamchk让MySQL数据表更健康 2011-03-15 09:15 水太深 ITPUB 字号:T | T 为了让MySQL数据库中的数据表“更健康”,就需要对其进行定期体检.在这里笔者推荐 ...
- (转)MySQL数据表中带LIKE的字符匹配查询
MySQL数据表中带LIKE的字符匹配查询 2014年07月15日09:56 百科369 MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的 ...
- 设置MySQL数据表主键
设置MySQL数据表主键: 使用“primary key”关键字创建主键数据列.被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合.如下SQL语句所示: My ...
随机推荐
- DragSelectRecyclerView 长按滑动多选图像android特效
高仿Google相册多选效果,长按某一item后然后滑动选择到任意item,效果很不错,适合相册页面多选部分效果. 本例子主要是自定义DragSelectRecyclerView通过如下展示gridv ...
- 驱动学习---PAE--virtual address to physics address
PAE是Physical Address Extension的缩写,即物理地址扩展.简单来说,就是把IA-32处理器的寻址能力从原来的4GB扩展到64GB.寻址4GB空间,要求物理地址的宽度为32位. ...
- windbg学习----.process
.process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe kd> .proc ...
- .NET core mvc on Docker
安装Docker 参考:http://www.cnblogs.com/windchen/p/6224233.html 下载.NET CORE MVC镜像 sudo docker pull regist ...
- 第8章 BOM
8.1 window对象 window有双重的角色,既可以通过JavaScript访问浏览器窗口的接口,又是ECMAScript规定的Global对象. 全局作用域中声明的变量.函数都会变成windo ...
- redis的安装和启动
Windows下Redis的安装及PHP扩展使用 时间 2014-10-28 17:47:09 CSDN博客 原文 http://blog.csdn.net/wyqwclsn/article/de ...
- linux随笔2
---恢复内容开始--- 2016,12,20 在linux里面不写这些扩展名,也是可以的,但是写这些扩展名是为了个管理员写的,好区分,但是linux本身不依靠扩展名来区分文件类型 ~~~~~~~~~ ...
- 如何在HTML中加载Flash(2种实现方法)_HTML/Xhtml_网页制作
点评:如何在HTML中加载Flash,为网页添加更多的色彩,普通的网页以无法满足用户的需求,接下来为大家介绍下2种在HTML中加载Flash的方法,感兴趣的各位可以适当参考下,希望对你有所帮助 第一种 ...
- Android(Intent 学习)
Intent 是一个消息传递对象,Intent可以通过多种方式促进组件之间的通信,基本的三种用例: 启动Acitivity: Activity表示应用中的一个屏幕,通过将Intent传递给startA ...
- C# 从字符串中取出英文字母
string fid = context.Request["value2"];//fid=FCT1234 Regex re = new Regex(@"[a-zA-Z]+ ...