MySQL--表操作1
这是对自己学习燕十八老师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的更多相关文章
- Python 3 mysql 表操作
Python 3 mysql 表操作 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为 ...
- 数据库 -- mysql表操作
一,存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:https://www.cnblogs.com/peng104/p/9751738.html 二,表介绍 表相当 ...
- 8.3 mysql 表操作
库操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等 performance_sch ...
- MySQL表操作及数据操作
表操作 表相当于一个文件,其形式与现实中的表格相同.表中的每条记录都有相应的字段,字段就类似于表格的表头. 表操作详细: #对表进行操作(文件) #首先要切换到指定库(即文件夹)下:use db1; ...
- 细说MySQL表操作
目录 语法 查看表结构 查看所有的表 删除表 查看创建表的语句 修改表的字符集和校验规则 修改表名 在表中添加新字段 修改表的字段名 修改表中字段的属性 删除表中的某个字段 设置某个字段为主键 把某个 ...
- mysql表操作与权限操作
修改表ALTER TABLE 语法: . 修改表名 ALTER TABLE 表名 RENAME 新表名; . 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ...
- mysql数据库从删库到跑路之mysql表操作
表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为一条记录 内容: 1 创建表 ...
- MySQL 表操作 (Day40)
阅读目录 一.表介绍 二.创建表 三.查看表 四.修改表 五.删除表 六.操作表中的记录 一.表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,则称为表 ...
- Mysql表操作
查看表结构: 可以使用describe或show create table语句查看表的结构: describe表名; Show create table 表名; 修改表名: Alter table 旧 ...
- mysql 表操作
创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE ...
随机推荐
- 理解c/c++指针和引用
1 指针的指针 比如int* a,那么a是指向一个int型的对象的.也就是说,*前面的类型是该指针指向的对象的类型. 同理int** a的话,a指向一个int*型的对象,也就是说,它指向的对象也是一个 ...
- ElasticSearch(九)基于version进行乐观锁并发控制
一.基于version进行乐观锁并发控制 1).查看一条document GET /test_version/test_version_type/ { "_index" : &qu ...
- Kotlin基本语法笔记3之定义类、继承及创建实例
定义类 class MyObject private constructor(name: String, age: Int) { private var name: String private va ...
- 修改MySQL的连接数
实际项目中出现“too many connnections...”错误提示,发现MySQL的最大连接数满了,于是我就查了一下使用的MySQL的最大连接数是多少? 安装好数据库也没有修改过,这应该是默认 ...
- [zjoi2003]密码机
一台密码机按照以下的方式产生密码:首先往机器中输入一系列数,然后取出其中一部分数,将它们异或以后得到一个新数作为密码.现在请你模拟这样一台密码机的运行情况,用户通过输入控制命令来产生密码.密码机中存放 ...
- 异常描述:hibernate懒加载中,用OpenSessionInViewFilter解决之后,同时对一个collection创建两个session访问导致异常(Illegal attempt to associate a collection with two open sessions)
在保存的时候如果使用以下方法就会报错 解决:使用merge()方法就可以解决异常... merge()方法的解释: 传入的参数在数据库中不存在的时候会添加一条数据,根据主键判断已存在的时候会更新这条数 ...
- Educational Codeforces Round 9 C. The Smallest String Concatenation —— 贪心 + 字符串
题目链接:http://codeforces.com/problemset/problem/632/C C. The Smallest String Concatenation time limit ...
- codeforces 467B Fedor and New Game 解题报告
题目链接:http://codeforces.com/contest/467/problem/B 题目意思:有 m + 1 个 player 和 n 种类型的 soldiers.每个player被赋予 ...
- 002 - 配置Pycharm的背景颜色为豆沙绿护眼
本文记录的是Pycharm2017年1月版本 Pycharm有自带的主题可供选择, 好多小伙伴喜欢使用Monoka的风格 但是也有不是很喜欢黑底风格的小伙伴可以使用默认主题+豆沙绿来替代 默认主题是白 ...
- hex2bin
typedef BYTE unsigned char; </pre><pre code_snippet_id="1639451" snippet_file_nam ...