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 ...
随机推荐
- iOS"Request failed: unacceptable content-type: text/html"
接口访问出错了,用浏览器测试,发现可以正常返回数据. 下面是错误信息: 获取服务器响应出错 error=Error Domain=com.alamofire.error.serialization.r ...
- .Net字符串替换
在.Net中,有些地方需要进行字符的替换才能实现一些相关功能,这里是一个简单的字符串替换的方法 //如下,变量strWhere中是通过一些方法获取的sql拼接的条件语句,但在数据库中是多表查询,有同名 ...
- sql 事物以及回滚
第一种: Begin Try Begin Tran Tran1 insert into t1(Id, c1) values(1,'1') insert into t1 ...
- Python—变量
1.在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量 2.访问限制: class内部属性可以被外部 ...
- hdu 1026(Ignatius and the Princess I)BFS
Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- Java 的replace和replaceAll的使用
(1)replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串. public String replace(char oldChar, ...
- 第二章 centos安装maven
一.官网下载 apache-maven-3.3.9-bin.tar.gz 注意:需要jdk1.7及以上 二.上传 scp apache-maven-3.3.9-bin.tar.gz root@10.2 ...
- MessageDigest消息摘要
<1>MessageDigest基础 MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法. MessageDigest 对象开始被初始化.该对象通 ...
- C/C++入门基础----指针(1)
指针其实就是一个变量, 和其他类型的变量一样.在32位计算机上, 指针占用四字节的变量.指针与其他变量的不同就在于它的值是一个内存地址,指向内存的另外一个地方, 指针能够直接访问内存和操作底层的数据, ...
- css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
原文地址: http://blog.csdn.net/jyy_12/article/details/42557241 px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果 ...