对表中字段的增删改查操作

修改表名 rename

		ALTER TABLE 旧表名 RENAME [TO]  新表名;
			alter: 	修改
			rename: 重命名

添加字段 add

		ALTER TABLE 表名 ADD 字段名  数据类型  [属性]

修改字段 change

		ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

删除字段 drop

		ALTER TABLE 表名 DROP 字段名;
		
			删除表: drop table 表名;
			
			删除数据 :drop database test1;

		
对表中字段的属性值操作:添加设置额外属性等

primary key 给字段添加唯一键主键属性(不可重复,且不为空)

		alter table  表名 add constraint 字段名  primary key 表名(字段名); 
				primary key : 唯一的,主键。
				add constraint: 添加 约束

给表添加外键字段 外键, FOREIGN KEY。

		ALTER TABLE 表名 ADD CONSTRAINT 外键名  FOREIGN KEY(外键字段)
		REFERENCES 关联表名(关联字段);
				FOREIGN KEY: 外键
				ADD CONSTRAINT: 添加 约束
				REFERENCES	:关联 引用
			
		(添加外键: 是需要你这个外键 字段的类型一致, 且字段属性不能为空的not null,设置成主键!)

练习:

对一个表中字段增删改查的操作练习。 alter table 来操作一个表的修改
						1.先创建一个表。
						CREATE TABLE mybook(id INT ,bookname VARCHAR(40),money INT);

						2.先给我们的mybook表改名为book
						ALTER TABLE mybook RENAME book;

						3.给book 表添加一个字段,作者author
						ALTER TABLE book ADD author VARCHAR(40) NOT NULL;

						4.删除book表中 author 这个字段。 drop
						ALTER TABLE book DROP author;
						
						
	DML语句,对表中的数据进行操作。

添加数据:

			添加数据: insert into 表名 values(字段对应数据1,字段对应数据2,……);
			
					注意: 表名,后面可以添加字段名,表示要往对应字段下面添加数据。
							字段名可以是多个,用逗号隔开。添加的值,也要和字段数量一一对应。

添加多条数据:

					当我们要给一个表中添加多条数据的时候。
						insert into 表名 values(一条数据),(第二条数据),(第三条数据);……
						

			如何修改:修改数据,和数据里面的约束。change 改变字段。
						delete 删除字段,之后在重新创建,后边会学习专门对属性操作。
						
			从原表中选择数据,添加到新表中。
			方法1:
				INSERT INTO 新表(字段1,字段2……)SELECT字段1,字段2……FROM 原表;
			
			方法2:
				CREATE TABLE 新表(SELECT 字段1,字段2 ……   FROM 原表);

更新数据:

			update 	:
				update 表名 set 字段名=字段值, 字段名=字段值,字段名=字段值 where 条件。 

删除数据:

			DELETE FROM 表名 [WHERE条件];
			delete from 表名;   (后边不跟条件的话,就删除所有表中内容)
			
			
			
				添加了auto_increment 这个属性的字段,具备自增的属性。
				当你删除了,中间的一些列表内容的内容的时候,就会产生自增列表断开的问题。
				我们想要数据删除后,现在剩下的数据,仍然给我保持一个序列排序,且序号连续。
				TRUNCATE TABLE 表名;
				这个属性字段,可以给我们把自动增长的属性字段,重新排序。

聚合函数 :

			avg() :求平均数
			count() :计算数量的
			sum()  : 求和的
			min() 求最小值
			max () 求最大值

字符串函数:

			 注意:在所有mysql字符串操作中,最开始的索引是从1开始的。
	
			CONCAT(str1,str1...strn)  链接字符串,后面可以跟多个参数-字符串
		
			INSERT(str,pos,len,newstr) 替换字符串
									str 原字符串,
									pos起始索引,
									len向后替换几位
									newstr新字符串。
									
			LOWER(str)			全部转化成小写
			
			UPPER(str)			全部转化成大写
			
			SUBSTRING  (str,num,len)	:截取一个子字符串,
									str :操作的字符串
									num :起始位置
									len : 要截取的长

时间日期函数“

		CURDATE()	获取当前日期 current 当前的
		CURTIME()	获取当前时间
		NOW()	获取当前日期和时间
		WEEK(date)	返回日期date为一年中的第几周
		YEAR(date)	返回日期date的年份
		HOUR(time)	返回时间time的小时值
		MINUTE(time)	返回时间time的分钟值
		DATEDIFF(date1,date2)	返回日期参数date1和date2之间相隔的天数
		ADDDATE(date,n)	计算日期参数date加上n天后的日期

数学函数:

		CEIL(x)	返回大于或等于数值x的的最小整数
		FLOOR(x)	返回小于或等于数值x的最大整数
		RAND()	返回0~1间的随机数 ,小数。

子查询:SELECT … FROM 表1 WHERE 字段1 比较运算符(子查询)

			in子查询,当我们父查询条件选择where 跟的字段接收的结果超过一个的时候用in
			in 后面可以接收多个子查询返回结果
			
			# NOT IN 就是对 选择包含的条件进行取反 操作。
			# 最终的查询结果,是除了条件赛选出来的内容 以外的所有表数据

连表查询:select 字段 from 一个表 表引用名

				inner join  要关联的表名  on 关联字段= 被关联字段
				where 查询条件
				
				如果是多个	表查询,用这个连表查询,比较方便。
				
		连表查询,比子查询的优势,就是,可以方便关联多张表,查询关联数据。
		Subquery returns more than 1 row 报错:子查询返回的结果超过一条就会报错
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值