这是对自己学习燕十八老师mysql教程的总结,非常感谢燕十八老师。

依赖软件:mysql

系统环境:win

注:本次所有命令都是在命令行上执行

数据库的四大天王操作:增删改查

增删改查都是在对表进行操作的,所以第一步是建表,

建表前需要的知识储备:数据类型,存储引擎

数据类型:数值型,字符型,日期/时间型、NULL类型

数值型

整型

可选参数

unsigned:无符号类型

zerofill:0填充(默认无符号)

M:宽度(在0填充的时候才有意义)

tinyint(M) unsigned zerofill

类型 字节 最大值(带符号/不带符号) 最小值(带符号/不带符号)
tinyint 1 -128/0 127/255
smallint 2 -32768/0 32767/65535
mediumint 3 -8388608/0 8388607/16777215
int 4 -2147483648/0 2147483647/4294967295
bigint 8 -9223372036854775808/0

9223372036854775807/

18446744073709551615

浮点型

float(M,D)M:精度,D:标度

定点型

decimal(M,D)M:精度,D:标度

字符型

类型 说明 典型声明方式 范围
char 定长字符串 gender char(1)

charn(M) 0<=M<=255

varchar 变长字符串 email varchar (20) varchar(M) 0<=M<=65535
text 文本串 content text 约2W-6W个字符

日期/时间型

类型 名称 字节 格式 范围
date 日期 3 YYYY-MM-DD 1000-01-01~9999-12-31
time 时间 3 HH-MM-SS -838:59:59~838:59:59
datetime 日期时间 8 YYYY-MM-DD HH-MM-SS

‘1000-01-01 00:00:00’

~

‘9999-12-31 23:59:59’

year 年份 1 YYYY 1901~2155

NULL类型

1、NULL:不是假也不是真,而是空

2、任何类型,任何运算符,任何判断符和NULL结合,结果都为NULL

3、NULL的判断只能用 is null、is not null

4、NULL影响查询速度,一般避免使用NULL

建表

# 语法 []内为可选参数
create table tbname(
列名 列类型 [列参数] [not null default ] ,
......
列名 列类型 [列参数] [not null default ]
)engine myisam charset utf8; #示例
create table goods(
  goods_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
  cat_id smallint(5) unsigned NOT NULL DEFAULT '',
  goods_sn varchar(60) NOT NULL DEFAULT '',
  goods_name varchar(120) NOT NULL DEFAULT '',
  click_count int(10) unsigned NOT NULL DEFAULT '',
  goods_number smallint(5) unsigned NOT NULL DEFAULT '',
  market_price decimal(10,2) unsigned NOT NULL DEFAULT '0.00',
  shop_price decimal(10,2) unsigned NOT NULL DEFAULT '0.00',
  add_time int(10) unsigned NOT NULL DEFAULT '',
  is_best tinyint(1) unsigned NOT NULL DEFAULT '',
  is_new tinyint(1) unsigned NOT NULL DEFAULT '',
  is_hot tinyint(1) unsigned NOT NULL DEFAULT ''
)engine myisam charset utf8;

增加数据

# 语法
insert into表名
(列名,....列名)
values
(值1,....值n),
......
(值1,....值n); # 示例
insert into goods
(goods_id,cat_id,goods_sn,goods_name,click_count,goods_number,market_price,
shop_price,add_time,is_best,is_now,is_hot)
values
(1,4,'ECS000000','KD876',7,1,1665.60,1988.00,124583,1,1,1),
(2,4,'ECS000001','诺基亚N97',7,1,3665.60,3588.00,124585,1,1,1);

添加其他表中的数据

# 语法
insert into dtname.tbname
select 列名1,......,列名n from dtname.tbname # 示例
insert into goods.goods
select
goods_id,cat_id,goods_name,goods_number
from shop.goods;

增加列

# 语法
alter table 表名 add 列名 列类型 列参数
# 指定添加在某列后面(可选)
after 某列名
# 指定添加在某列前面(可选)
first 某列名 # 示例
alter table goods add shop_price decimal(8,2) not null default 0.0;

修改列类型

# 语法
alter table 表名 modify 列名 列类型 列参数 # 示例
alter table goods modify shop_price float(8,2) not null default 0.0;

同时修改列名和列类型

# 语法
alter table 表名 change 旧列名 新列名 列类型 列参数; alter table goods change
shop_price now_shop_price decimal(8,2) not null default 0.0

删除列

# 语法
alter table 表名 drop 列名; # 示例
alter table goods drop now_shop_price;

修改数据

# 语法
update 表名 set 列名=修改的内容 where 表达式; # 示例
update goods
set goods_name='诺基亚123'
where goods_id=4;

删除数据

# 语法
delete from 表名 where 表达式; # 示例
delete from goods where goods_id=6;

查看数据

查看数据在初级数据库工作中非常重要,所有这里只简单说明下,下一篇专门讲

# 语法
select 查看的列名 from 表名 # 示例
select * from goods;
由于mysql版本的变化,语法可能存在一定的变化,欢迎指出错误和评论区讨论

MySQL--表操作1的更多相关文章

  1. Python 3 mysql 表操作

    Python 3 mysql 表操作 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为 ...

  2. 数据库 -- mysql表操作

    一,存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:https://www.cnblogs.com/peng104/p/9751738.html 二,表介绍 表相当 ...

  3. 8.3 mysql 表操作

    库操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等    performance_sch ...

  4. MySQL表操作及数据操作

    表操作 表相当于一个文件,其形式与现实中的表格相同.表中的每条记录都有相应的字段,字段就类似于表格的表头. 表操作详细: #对表进行操作(文件) #首先要切换到指定库(即文件夹)下:use db1; ...

  5. 细说MySQL表操作

    目录 语法 查看表结构 查看所有的表 删除表 查看创建表的语句 修改表的字符集和校验规则 修改表名 在表中添加新字段 修改表的字段名 修改表中字段的属性 删除表中的某个字段 设置某个字段为主键 把某个 ...

  6. mysql表操作与权限操作

    修改表ALTER TABLE 语法: . 修改表名 ALTER TABLE 表名 RENAME 新表名; . 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ...

  7. mysql数据库从删库到跑路之mysql表操作

    表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为一条记录 内容: 1 创建表 ...

  8. MySQL 表操作 (Day40)

    阅读目录 一.表介绍 二.创建表 三.查看表 四.修改表 五.删除表 六.操作表中的记录 一.表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,则称为表 ...

  9. Mysql表操作

    查看表结构: 可以使用describe或show create table语句查看表的结构: describe表名; Show create table 表名; 修改表名: Alter table 旧 ...

  10. mysql 表操作

    创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE ...

随机推荐

  1. Tomcat Session Clustering

    搭建 Tomcat 集群需要解决很多的问题,其中之一就是要解决 Session 共享问题.小规模集群可以使用 Tomcat 提供的 Session Clustering 来解决. For the im ...

  2. Ubuntu下安装Android studio【转】

    本文转载自:http://blog.csdn.net/walleit/article/details/65696712 版权声明:本文为博主原创文章,未经博主允许不得转载. 一,软件准备 1. Lin ...

  3. CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)

    本文主要是对主流居中方法进行了归纳,有些地方甚至就是把别人的代码直接复制过来的,没有什么自己的东西,除了大漠以及张鑫旭的方法外,还有来自司徒正美.怿飞博客的几个方法 以下方法,由于测试环境的原因,IE ...

  4. js程序开发-2

    <h1>DOM节点操作</h1> createElement() 创建节点:返回一个元素对象; cloneNode() 克隆节点,接受一个参数deep,值为true或false ...

  5. 并不对劲的loj3048:p5283:[十二省联考]异或粽子

    题目大意 有\(n\)(\(n\leq5\times10^5\))个数\(a_1,a_2,...a_n\)(\(a_i\leq 2^{32}-1\)) 求区间异或和前\(k(k\leq2\times1 ...

  6. Jmeter 在什么情况下定义多个thread group?

    Jmeter里面有三种线程组:setUp thread group, TearDown thread group, thread group. 如果想定义100个用户登录系统,60个用户做A操作,40 ...

  7. C++之自己实现的String类全部

    一:回顾 (1)c++中的string类是在面试中和笔试中经常考的题目: 工程代码免费下载 string类的自行实现 (2)c++中的string类和fstream类合起来是处理外部数据的利器: (3 ...

  8. bzoj 2083 [Poi2010]Intelligence test——思路+vector/链表

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2083 给每个值开一个vector.每个询问挂在其第一个值上:然后枚举给定序列,遇到一个值就访 ...

  9. bzoj 4711 小奇挖矿 ——“承诺”类树形dp

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4711 对“承诺”有了更深的了解. 向外和向内要区分,所以 f [ i ][ j ] 表示根向 ...

  10. Android Studio工程Gradle编译报错

    一.环境的搭建: 首先搭建好AndroidStudio环境.我使用的是Ubuntu 12.04系统(由于此机器还要运行其他程序,为避免兼容性问题,暂未更新到最新,而继续沿用此稳定版),java和jdk ...