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 ...
随机推荐
- web开发漫谈
本文同步至微信公众号http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=401950045&idx=1&sn=cec056 ...
- spring启动component-scan类扫描加载过程---源码分析
http://blog.csdn.net/xieyuooo/article/details/9089441#comments
- session和cookie工作原理说明
session 第一次请求: session_start 1.第一次发送http请求,由于第一次未携带session_id ,首先自动生成一个session_id,初始化$_SESSION[]; 2. ...
- YII2学习第一天
YII2学习第一天,之前稍微看了看TP,感觉和自己的理念不是很符合,然后转学YII2了. 使用的文档是https://github.com/yiisoft/yii2/tree/master/docs/ ...
- C# IntPtr转换为Byte[]
[DllImport("OpenNetStream.dll")] public static extern int OpenSDK_Data_GetDevList(IntPtr s ...
- Camstar Portal modeling user guid --WorkCenter workCell workStation的关系
业务需求:如何让用户登陆时选择 生产线(如:SMT生产线) Operation(如:维修员) 工作单元(如:印刷段) 工作站(如:上板) 关系图: 从上图可以看出: workCell是Resour ...
- Ansible学习笔记
一.Ansible简介 Ansible是一种agentless(基于ssh),可实现批量配置.命令执行和控制,基于Python实现的自动化运维工具. 其特性有: ①模块化:通过调用相关模块,完成指定任 ...
- ArcMap 操作笔记
1.SQL查询(in) select * from table where PointID in ('1','2')
- js获取鼠标当前的位置
有时候,我们需要得到窗口拖动或者鼠标移动的距离,此时可以通过计算鼠标前后在页面中的位置来得到想要的结果,下面介绍几个事件属性: 1.客户区坐标位置 鼠标事件都是在浏览器视口中的特定位置上发生的.这个位 ...
- JavaWeb 学习005-4个页面,5条sql语句(添加、查看、修改、删除)
今天完成了的事: = 1.班级模块,list页面的添加班级信息操作,中文乱码问题 尚待解决 这俩天做得工作是: 首先搭建好main页面:是由top.left.right三个部分构成的,拼接到一起. 流 ...