这是对自己学习燕十八老师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. This means that only a small number of nodes must be read from disk to retrieve an item.

    http://cis.stvincent.edu/html/tutorials/swd/btree/btree.html Introduction A B-tree is a specialized ...

  2. Maximum likelihood from incomplete data via the EM algorithm (1977)

    Maximum likelihood from incomplete data via the EM algorithm (1977)  

  3. redis 使用 get 命令读取 bitmap 类型的数据

    在签到统计场景中,可以使用 bitmap 数据类型高效的存储签到数据,但 getbit 命令只能获取某一位值,就无法最优的满足部分业务场景了. 比如我们按年去存储一个用户的签到情况,365 天,只需要 ...

  4. js操作本地文件

    只有IE支持js对本地文件操作 其他浏览器都不支持

  5. 如何在Flask的构架中传递logger给子模块

    Logger的传递 作为一个新手,如何将主函数的logger传入子模块是一件棘手的事情.某些情况下可以直接将logger作为参数传入子模块的构造函数中,但倘若子模块与主模块存在相互依赖的关系则容易出现 ...

  6. JNI之JAVA调用C++接口

    1.JNI定义(来自百度百科) JNI是Java Native Interface的缩写,中文为JAVA本地调用.从Java1.1开始,Java Native Interface(JNI)标准成为ja ...

  7. gulp --- 前端自动化构建工具

    目录 1. gulp使用步骤 1.1 安装Node.js 1.2 全局安装gulp 1.3 安装项目依赖包gulp 1.3.1 了解package.json 1.3.2 根据package.json安 ...

  8. 禁用ubuntu 客人会话

    sudo vi /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf 添加: allow-guest=false 重启.

  9. Code:NFine目录

    ylbtech-Code:NFine目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://ylb ...

  10. win7 第一次装 mysql-5.7.16-winx64 ,不知道root 密码,该如何处理?

    转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/52851811 ERROR 1045 (28000): Access denied ...