MYSQL基础(二)-表操作

1.mysql表数据类型
表数据类型一般分为三类,即数值,日期时间和字符串类型。
数值类型又细分为整数型,定点数型和浮点数型。

整数型中按数值大小划分,可以分为TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT等,而定点数型则是可以另我们通过给定十进制数值的数字个数和小数点后几位来确定该数值的大小,有 DECIMAL和NUMERIC类型。需要注意的是,若整数部分超出了给定范围,就会报错,若是小数部分,则要分情况,若小数部分四舍五入后未使整数部分超出给定范围,则可以超出而不报错,仅是警告,反之,则会报错。浮点数是用来表示实数的一种方法,浮点类型有float,double和real。浮点数也可以使用类似定点数的功能,还有另一种类型是BIT,即二进制数值。

字符串类型则是与文本等相关的类型,指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

日期类型有DATE, DATETIME, 和TIMESTAMP类型。这三者是相互联系的, 当你需要同时包含日期和时间信息的值时则使用DATETIME类型。MySQL以’YYYY-MM-DD HH:MM:SS’格式检索和显示DATETIME值。支持的范围为’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。当你只需要日期值而不需要时间部分时应使用DATE类型。MySQL用’YYYY-MM-DD’格式检索和显示DATE值。支持的范围是’1000-01-01’到 ‘9999-12-31’。 TIMESTAMP类型同样包含日期和时间,范围从’1970-01-01 00:00:01’ UTC 到’2038-01-19 03:14:07’ UTC。而时间类型有TIME类型和YEAR类型。

2.用SQL语句创建表
利用SQL语句来创建表可以使用creat table创建,新表的名字在该语句后面给出,表列的名字和定义用逗号分隔,在定义列时,要么列是null值,要么是not null值,需要注意的是,在定义列时,只有定义为非空值的列可以作为主键,总体有
create table table_name(
字段名称 字段类型 [字段属性] [索引],
字段名称 字段类型 [字段属性] [索引]
)表引擎 字符集
在设定主键时,primary key跟在某个符合设定主键的列后面。

3.用SQL语句向表中添加数据
当需要向表中插入数据时,可以使用INSERT语法,即INSERT INTO 表名 value,某一行的相关值,当然,该语句时按顺序给值,若列数太多,则容易出错,因此可以在INSERT INTO 表名后,添加列名以及按列名顺序赋值,即INSERT INTO 表名 (列名)value(值),当然,若是忽略了一些列,则这些列一定时可以设置空值的。若只是想插入已存在与其他表中的值,可以将value替换成一条select子句来实现。此外,还有select insert from结构,该语句可以将某个表的内容复制到另一张表中。

4.用SQL语句删除表
要删除数据,delete可以从特定表中删除特定的行,当然,也可以删除所有行,但是该语句不会删除表,当然,要想删除所有行,可以使用更快速的truncate table语句,区别:
事务——truncate是不可以rollback的,但是delete是可以rollback的;
原因——truncate删除整表数据(ddl语句,隐式提交),delete是一行一行的删除,可以rollback
效果——truncate删除后将重新水平线和索引(id从零开始) ,delete不会删除索引
truncate 不能触发任何Delete触发器。
delete 删除可以返回行数
另一个删除表的操作为drop,该命令直接删除整个表而没有确认和撤销

5.用SQL语句修改表
修改列名即是通过alter table 表名 modify column 旧列名 新列名
修改表中数据需要使用update语句,即update 表名 set (列名 = 值)where 所在行,从语句中可以看到,set确定需修改的列,where 确定需修改的行。
删除行即用delete即可,而删除列则是alter table 表名 drop column 列名。在新建列方面,依旧时alter table语句,为alter table 表名 add column 新列名及其定义和类型等。新建行则为insert into 表名 后接相关需要定义和填充的数据

homework 1
SELECT class
FROM courses
having count(class) >= 5

homework 2
update salary
set sex = ‘m’
where id = 4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值