MySQL(二)表的操作与简单数据操作
六大约束:主键约束、外键约束、非空约束、唯一约束、默认约束、自动增加
1.not null非空
2.defaul默认值,用于保证该字段的默认值 ; 比如年龄:1900-10-10
3.primar key主键,用于保证该字段的值具有唯一性,并且非空
4.uniqu唯一约束,保证该字段的值可以为空,具有唯一性
5.AUTO_INCREMENT自动递增
6.foreign key外键约束; 用于限制两个表的关系, 用于保证该字段的值必须来自于主表的关联列的值;
在从表中添加外键约束,用于引用主表中的某列的值; 一、创建表

语法:使用use 数据库名;先指明数据库,再create table 表名
create table [if not exists] 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
)[存储引擎 字符集];
==在同一张表中,字段名是不能相同
==宽度和约束条件可选
==字段名和类型是必须的
create table t_name(
id int(10) primary key,
name char(10) not null,
age int(10),
)ENGINE=InnoDB;
注:也可以使用:create table 数据库名.表名(……)
二、查询表
(1)、查询所有表:
show tables 表名;
(2)、查询部分表
前缀为ex的表 show tables like 'ex_%';(查出以ex_开头的表)
(3)、查询表结构
describe 表名;(可简写为 desc 表名;)
show columns from 表名;
(4)、查看表的创建语句(同查看数据库的创建语句:show create database 数据库名;)
show create table 表名;
三、修改表
(1)、修改表名
rename table 老的表名 to 新的表名; // rename 可以对多个表进行改名
alter table 旧表名 rename 新表名;
(2)、跨数据库改名
rename table 老的表名 to 其他数据库.新的表名
(3)、如果想在一个已经建好的表中添加一列,可以用以下代码:
alter table 表名 add [column] 字段名 varchar(20) not null;
alter table 表名 add (字段名 int(10), 字段名int(10));(添加多个字段)
(4)、改变表的字段
alter table t_name modify 字段名 char(11); -----只能改属性不能改名字
alter table t_name change gender age int(12); -----既可以改名也可改属性(把gender改为age)
alter table t_name change gender int(12) first; -------把gender放在第一列
alter table t_name change gender int(12) after id; -------把gender放在id后面
(5)、删除字段
alter table 表名 drop 字段名; -----删除一列
四、删除表
drop table 表名1,表名2……;
五、中文乱码问题
博客详细介绍:https://www.cnblogs.com/shootercheng/p/5836657.html
https://www.cnblogs.com/eRrsr/p/6044227.html
当然你也可以改mysql配置文件/etc/my.cnf。

六、简单数据库数据操作
https://www.cnblogs.com/heyangblog/p/7624645.html
七、数据库操作函数大全
https://www.cnblogs.com/slowlyslowly/p/8649430.html
八、数据库多表查询
http://www.cnblogs.com/bypp/p/8618382.html
MySQL(二)表的操作与简单数据操作的更多相关文章
- MySQL将表a中查询的数据插入到表b中
MySQL将表a中查询的数据插入到表b中 假设表b存在 insert into b select * from a; 假设表b不存在 create table b as select * from a ...
- MYSQL单表可以存储多少条数据???
MYSQL单表可以存储多少条数据??? 单表存储四千万条数据,说MySQL不行的自己打脸吧. 多说一句话,对于爬虫来说,任何数据库,仅仅是存储数据的地方,最关心的是 能否存储数据和存储多少数据以及存储 ...
- mysql分表场景分析与简单分表操作
为什么要分表 首先要知道什么情况下,才需要分表个人觉得单表记录条数达到百万到千万级别时就要使用分表了,分表的目的就在于此,减小数据库的负担,缩短查询时间. 表分割有两种方式: 1水平分割:根据一列或多 ...
- 1122 django属性操作orm字段数据操作
目录 1. 静态文件的配置 手动静态文件的访问资源 静态文件的动态绑定 2.request方法 2.1 请求方式 2.2 获取前端的请求方式 request.method 2.3 request方法 ...
- WEB简单数据操作练习
主要学习代码: Login.aspx: <!--第一种方式--> <%-- <script type="text/javascript"> funct ...
- MySQL 向表中插入、删除数据
一.向表中插入一条信息 1.查看表中的数据 mysql> SELECT * FROM user; +----+---------+----------+ | id | account | pas ...
- mysql两表合并,对一列数据进行处理
加班一时爽,一直加班~一直爽~ 欢迎收看http://www.996.icu/ 今天弄了下MySQL中两表合并的并且要处理一列数据,这列数据原来都是小写字母,处理时将这列数据改成驼峰命名的~~ 基本 ...
- salesforce 零基础学习(二十五)PickList简单联动操作
有的时候,项目需要一些联动的操作,比如省和市之间的联动,不同的省应该显示不同的城市. 操作步骤如下: 1.新建provice字段,并且初始化相关的值 2.新建city字段,并且初始化相关的值 3.在P ...
- MySQL使用笔记(五)简单数据记录查询
By francis_hao Dec 14,2016 查询指定字段 mysql> select field1,field2-- from table_name; 查询所有字段 mysql& ...
随机推荐
- ATM项目分析
ATM项目分析 项目源代码下载 其实本项目的需求分析乍一看比较复杂,但是细细拆分出来实际实现还是比较容易的.基本用上前面所学的所有知识点. 1.额度 15000或自定义 2.实现购物商场,买东西加入购 ...
- Java工具类——日期相关的类
前言 在日常的开发工作当中,我们经常需要用到日期相关的类(包括日期类已经处理日期的类),所以,我就专门整理了一篇关于日期相关的类,希望可以帮助到大家. 正文 一.日期类介绍 在 Java 里面,操作日 ...
- js事件入门(4)
4.表单事件 表单事件处理主要用来验证表单,可以处理用户在表单上所做的任何操作. 4.1.onsubmit事件 当用户点击submit按钮来提交表单时,就会触发onsubmit事件,如果事件处理程序返 ...
- 去除List集合中的重复值(四种好用的方法)(基本数据类型可用)
最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合. 但是赋给set集合后,由于se ...
- Nuxt+Express后端api接口配置与实现方式
Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染 (SSR) 应用.本文带你了解在 Nuxt.js 中使用 Express 如何编写实现后端的 api 接口. 创建接口 ...
- python编码--解码
在py3中只有两种数据类型:str bytes str: 存unicode(万国码)编码--全球通用的 bytes:存的是16进制的 1.str s='ehllo 丽庆' --->它存在内 ...
- 【Oracle】rman中SBT_TYPE类型的备份如何删除
技阳的rman数据库出现删除rman备份失败,原因是出现SBT_TYPE的磁带备份. [BEGIN] 2018/8/13 13:48:42 RMAN> list backup; List of ...
- HotSpot二分模型(1)
HotSpot采用了OOP-Klass模型来描述Java类和对象.OOP(Ordinary Object Pointer)指的是普通对象指针,而Klass用来描述对象的具体类型. 那么为何要设计这样一 ...
- 生日聚会Party——这个线性dp有点嚣张
题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算 坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续 ...
- 安卓移动端line-height垂直居中出现偏移的原因,及解决方法
目前在移动端安卓手机上使用line-height属性,让它的值等于height,结果发现是不居中的.出现了一定位置的偏移情况,如果略微只有两三个像素差距是看不出来的. 左图中的字号是12px,右图中的 ...