MySQL学习2:表的创建和增删改

1. DDL

DDL 为数据定义语言,对表进行增create, 删delete和改update

2. 表的增和删除,修改,(DDL语句)

2.1. 表的创建create(可自行定义默认值)

create table 表名(
	字段名1 数据类型1default xx),
	字段名2 数据类型2,
	字段名3 数据类型3---
	);

注意事项:
1) 表名建议以t_开头,见名知意;字段名也是见名知意

2.2. 表的删除drop

	//方式一:不判断是否存在,直接删除(如果不存在会进行报错)
	drop table t_time1;
	//方式二:首先判断是否存在,再进行删除
	drop table if exists t_time12;	

2.3. 表的修改:alter(用的少)

3. mysql中的数据类型(常见十类)

  1. varchar(最长255)
    1)可变长度的字符串,不需要先定义大小,比较智能,节省空间;但是需要动态分配空间,比较慢
  2. char(最长255)
    1)定长字符串,,固定分配,分配速度比较快;但是不智能,浪费空间
  3. 整型:int(最长11),bigint
    1)int 数字中的整数型,等同于java中的int;bigint:数字中的整数型,等同于java中的long
  4. 浮点型:float和double
    1) 数字中的单精度和多精度浮点型数据
  5. 日期类型:data和datatime
    1) data:短日期,只包括年月日;datatime:长日期,包括年月日时分秒
  6. 字符大文本:clob
    1) 存放大文本,最多可以存储4G大小的字符串.比如一篇文章存储。
  7. 二进制大对象:blob
  1. 专门用来存储图片,声音和视频等流媒体数据,需要使用IO流才能存取数据

4. 创建,插入,修改和删除(DML语句)

4.1. 创建

1)创建一章学生表,包含信息为姓名,学号,性别和身高

create table t_student (
	name varchar(255),
	number int(8),
	sex char(2),
	high float(5)
	);
	
//显示创建的表结构:
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| name   | varchar(255) | YES  |     | NULL    |       |
| number | int(8)       | YES  |     | NULL    |       |
| sex    | char(2)      | YES  |     | NULL    |       |
| high   | float        | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+

4.2. 插入insert

  1. 单行数据插入:
	//插入全部的列元素
	insert into t_student(name,number,sex,high) values('zhangsan',150,'M',173.5); //不能包括中文;
	insert into t_student  values('zhangsan',150,'M',173.5); //如果要添加全部,可以不写输入类型。	
	//插入部分的列元素
	 insert into t_student(name,sxe) values('lisi','F');  //只要一一对应即可。
  1. 多行数据插入:直接在values后面添加额外的括号即可,但是输入的类型要和前面的一致
	//插入全部的列元素
	insert into t_student(name,number,sex,high) values('zhangsan',150,'M',173.5),('hexi',170,'F',170); //不能包括中文;
  1. 插入短日期和长日期
    (1):短日期,可以不用日期转变,默认为如下字符串即可‘2022-10-15’
    (2):长日期,可以不用日期转变,默认为如下字符串即可‘2022-10-15 21:15:31’
	create table t_time1( name varchar(255), stime date,ltime datetime);
	insert into t_time1 values('zhangsan','2022-10-15','2022-12-10 23:15:10');
  1. 注意事项
    (1):每执行成功一次insert操作,就会多出一条数据
    (2):如果某些字段没有给出输入的值,则会默认为null
    (3):在DDL建表的时候,也可以指定默认值,否则统一默认值为NULL。
    (4):字段名省略和全部写上是一样的效果。

4.3. 修改update

案例:修改上面插入的名字为王五,时间为1997-02-01

  1. 修改全部内容(不加限制就会修改全部)
	create table t_time1( name varchar(255), stime date,ltime datetime);
	insert into t_time1 values('zhangsan','2022-10-15','2022-12-10 23:15:10');
	insert into t_time1 values('heicha','2022-10-15','2022-12-10 23:15:10');

	update t_time1 set name='wangwu', stime='1997-02-01';
  1. 修改局部内容(添加限制,修改局部)
	update t_time1 set name='kaihui', stime='1997-02-01' where name='heicha';

4.4. 删除delete

  1. 没有条件,删除全部数据
delete from t_time1;
  1. 有条件,删除部分数据
delete from t_time1 where name='kaihui';

5. 特有功能

5. 1.快速删除表中的数据**(truncate)**

  1. truncate删除/和创建的书写格式一样,属于DDL语句
	//1)删除表的全部数据,保存表的结构
	truncate table dept_back;
  1. delete删除 ,属于DML语句
	//1)删除表某一行数据
	delete from dept_back;
  1. drop,truncate和delete的区别
    1)drop:这个是表格定义语言DDL,删除的是表内的数据和表的结构
    2)delete:表的管理语言,DML,只操作数据
    (1):表中的数据被删除了,但是数据在硬盘中真实存储空间不会被释放!
    (2):删除效率比较低,但是支持事务回滚操作,能够恢复数据。
    (3):对自增的id 不会进行 重新计数。
    3)truncate:表的定义语言,但是 不删除表的结构
    (1):删除效率比较高,表被一次截断,物理删除,不支持回滚操作。
    (2):属于表的定义语言,删除表的全部数据,但是保存表的结构。
    (3):对自增的id 会进行重新计数。

5. 2. 快速创建表(表的复制)

	//1)复制表dept,新建一张表
	create table dept_back as select * from dept;

5. 3. 将查询的结果插入到一张表中insert

	//1)插入表
	insert into dept_back  select * from dept;

文章参考:
老杜带你学_mysql入门基础(mysql基础视频+数据库实战)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值