MySQL--表操作1

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

依赖软件:mysql

系统环境:win

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

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

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

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

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

数值型

整型

可选参数

unsigned:无符号类型

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

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

tinyint(M) unsigned zerofill

类型字节最大值(带符号/不带符号)最小值(带符号/不带符号)
tinyint1-128/0127/255
smallint2-32768/032767/65535
mediumint3-8388608/08388607/16777215
int4-2147483648/02147483647/4294967295
bigint8-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日期3YYYY-MM-DD1000-01-01~9999-12-31
time时间3HH-MM-SS-838:59:59~838:59:59
datetime日期时间8YYYY-MM-DD HH-MM-SS

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

~

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

year年份1YYYY1901~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 '0',
  goods_sn varchar(60) NOT NULL DEFAULT '',
  goods_name varchar(120) NOT NULL DEFAULT '',
  click_count int(10) unsigned NOT NULL DEFAULT '0',
  goods_number smallint(5) unsigned NOT NULL DEFAULT '0',
  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 '0',
  is_best tinyint(1) unsigned NOT NULL DEFAULT '0',
  is_new tinyint(1) unsigned NOT NULL DEFAULT '0',
  is_hot tinyint(1) unsigned NOT NULL DEFAULT '0'
)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版本的变化,语法可能存在一定的变化,欢迎指出错误和评论区讨论

转载于:https://www.cnblogs.com/Pang-Jie/p/10889332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值