分享13

1.	一名C#工程师, 面试时, 回答面试官为什么选择C# :  还没上大学的时候,高三暑假,跑到家那边的图书城想买传说中的C++的书,然后看到一本C#,我一看,嘿,这个++还写得挺艺术的,重叠起来了,于是把C#买了回来……

2.	【程序员被提bug之后的反应】1.怎么可能;2.在我这是好的,不信你来看看;3.真是奇怪,刚刚还好好的;4.肯定是数据问题;5.你清下缓存试试;6.重启下电脑试试;7.你装的什么版本的类库(jdk)8.这谁写的代码;9.尼玛怎么还在用IE浏览器;10.用户不会像你这么操作的。

3.	早晨一女生抱着一堆书进了阅览室,结果警报响了,大妈让女生看看是哪本书把警报弄响了,那女生把书倒出来,准备一本一本的测。大妈见状急了,把书分成两份,第一份过了一下,响了。又把这一份分成两份接着测,三回就找到了,大妈用鄙视的眼神看着女生,仿佛在说O(n)和O(log2n)都分不清。

4.	发现程序员经常熬夜有三个弊端:第一,记忆力越来越差;第二,数数经常会数错;第四,记忆力越来越差。

5.	如果一个足球界的人“猝死”了,会被怀疑和赌球有关;如果一个官员“猝死”了,会被怀疑和贪腐有关;如果一个农民"猝死"了,会被怀疑和拆迁有关;而如果一个程序员猝死了,那他真的猝死了。

DDL 数据定义语句

DDL 操作数据库 *
1.	创建数据库
		-	创建数据库, 并使用默认编码集 ***
			create database 数据库名称;
		-	创建数据库, 并指定编码集 (了解)
			create database 数据库名称 default character set 编码集名称;
	
2.	查看数据库
		-	查看所有数据库 ***
			show databases; 
		-	查看某个数据库的定义信息
			show create database 数据库名称;

3.	修改数据库
		-	修改数据库的默认编码集 (了解)
			alter database 数据库名称 default character set 编码集名称;

4.	删除数据库
		-	删除指定名称的数据库
			drop database 数据库名称;

5.	选择数据库 
		-	使用和切换数据库
			use 数据库名称;
		-	查看当前使用的数据库
			select database();
二维表格 *
表格:	由行和列组成的表格,  我们称其为二维表.

在数据库中, 二维表拥有如下五个元素:

	1.	表格
	2.	记录		:	表格中的行
	3.	字段		:	列
	4.	字段名	:	用于描述表格中某列的含义.
	5.	字段值	:	某一行中 某一列的值;
DDL 操作表格 *
mysql中常用的数据类型:
	 1.	int	:	整数类型
	 2.	double(n,m)	:	双精度浮点型数字 , n指的是长度 m指的是小数点后保留的位数
	 3.	varchar(m) : 可变长度的字符串 , 长度m允许的值:0-65535
	 4.	datetime	:	年月日时分秒, 存储的格式是: yyyy-MM-dd HH:mm:ss , 可以使用now()来给datetime类型的字段,插入当前时间
	 5.	timestamp	:	时间戳类型 , 格式: yyyy-MM-dd HH:mm:ss , 
					 	特点:在插入数据时,如果此字段未赋值 ,则默认使用当前系统时间 
1. 创建表格 *****
		语法格式:
			create table 表名(
				字段名1 数据类型,
				字段名2 数据类型,
				...
				字段名n 数据类型-- 最后一个字段后, 不用添加逗号.
			);	

		案例:
			创建一个用户表 t_user, 包含 用户编号id , 用户帐号username, 用户密码 password , 创建时间 createtime
			create table t_user(
				id int,
				username varchar(32),
				password varchar(32),
				createtime datetime
			);

		练习:
			创建一个学生表 t_student , 包含 学生编号id , 学生姓名 name, 学生年龄 age , 学生生日 birthday, 入学时间 intime
			create table t_student(
				id int,
				name varchar(32),
				age int,
				birthday date,
				intime datetime
			);
2. 查看表格 *
		-	查看当前使用的数据库中的所有表格
			show tables;
		-	查看指定表格的 表结构
			desc 表名;
3. 修改表格 (熟悉)
		-	修改表名
				格式:	alter table 原表名 rename to 新表名;
				案例:	alter table t_student rename to student;
		-	修改表的字符集
				格式:	alter table 表名 character set 编码名称;
		-	修改字段名称 和 类型
				格式:	alter table 表名 change 原字段名 新字段名 数据类型;
				案例:	alter table student change intime hahatime timestamp;
		-	修改字段类型
				格式:	alter table 表名 modify 字段名 数据类型;
				案例:	alter table student modify hahatime datetime;
		-	删除字段
				格式:	alter table 表名 drop 字段名;
				案例:	alter table student drop hahatime;
		-	添加字段
				格式:	alter table 表名 add 字段名 数据类型;
				案例:	alter table student add heiheitime datetime;
4. 删除表格 *
drop table 表名;

DML 数据操作语言 *****

对表中数据的 增加, 删除 和 修改操作.
插入数据: INSERT语句 *****
insert语句会在表格中新增一行记录.
语句中的要插入的数据 , 除数值类型外 , 其他类型必须使用引号引住 (单引号双引号都行)

格式1.	指定字段,插入数据.
		insert into 表名(字段名1,字段名2...字段名n) values(字段值1,字段值2...字段值n);

格式2.	按照定义表格时 , 字段定义的顺序 插入所有字段数据.
		insert into 表名 values(字段值1,字段值2...字段值n);

	案例:
		1.	学生表格中, 加入一个学生: 编号1 , 姓名:sb沛麟,年龄:18,生日:2001-11-11,入学时间:暂未入学
		insert into t_student(id,name,age,birthday) values(1,'sb沛麟',18,'2001-11-11');

		2.	学生表格中, 加入一个学生: 编号2 , 姓名:sg沛麟,年龄19,生日:2000-12-12,入学时间:2016-09-01 08:30
		方式1.	insert into t_student(name,age,id,birthday,intime) values("zz沛麟",20,3,"1999-7-15",now());
		方式2.	insert into t_student values(2,'sg沛麟',19,"2000-12-12","2016-09-01 08:30");
删除数据: DELETE 语句 *****
格式1.	删除表格中所有记录.
		delete from 表名;

格式2.	删除表格中满足where条件的记录
		delete from 表名 where 条件;

案例:
	1.	删除t_student表格中的所有数据
		DELETE FROM t_student;

	2.	按条件删除, 
		先给数据库加入一些模拟的数据
			INSERT INTO t_student VALUES(1,'sg沛麟4',10,"2000-12-12","2006-09-01 08:30");
			INSERT INTO t_student VALUES(2,'sg沛麟5',11,"2000-12-12","2016-09-01 08:30");
			INSERT INTO t_student VALUES(3,'sg沛麟6',12,"2000-12-12","2018-09-01 08:30");
			INSERT INTO t_student VALUES(4,'sg沛麟4',13,"2000-12-12","2006-09-01 08:30");
			INSERT INTO t_student VALUES(5,'sg沛麟5',14,"2000-12-12","2016-09-01 08:30");
			INSERT INTO t_student VALUES(6,'sg沛麟6',15,"2000-12-12","2018-09-01 08:30");
			INSERT INTO t_student VALUES(7,'sg沛麟7',16,"2000-12-12","2011-09-01 08:30");
			INSERT INTO t_student VALUES(8,'sg沛麟8',17,"2000-12-12","2009-09-01 08:30");
			INSERT INTO t_student VALUES(9,'sg沛麟9',19,"2000-12-12","2008-08-08 08:30");
			INSERT INTO t_student VALUES(10,'sg沛麟10',19,"2000-12-12","2025-09-01 08:30");
			INSERT INTO t_student VALUES(11,'sg沛麟11',19,"2000-12-12","2015-09-01 08:30");
			INSERT INTO t_student VALUES(12,'sg沛麟12',19,"2000-12-12","2014-09-01 08:30");
			INSERT INTO t_student VALUES(13,'sg沛麟13',19,"2000-12-12","2013-09-01 08:30");
			INSERT INTO t_student VALUES(14,'sg沛麟14',20,"2000-12-12","2012-09-01 08:30");

		-	删除年龄等于19的学生;
			delete from t_student where age=19;
		-	删除年龄大于19岁的学生
			delete from t_student where age>19;
		-	删除年龄在15-19岁之间的 (不包含15和19)
			delete from t_student where age>15 and age<19;
			delete from t_student where age>=16 and age<=18;
			delete from t_student where age between  16 and 18;
		-	删除年龄为11,12,13的学生
			delete from t_student where age=11 or age=12 or age=13;
			delete from t_student where age in(11,12,13);
		-	删除年龄不是11,12,13的学生
			delete from t_student where age!=11 and age!=12 and age!=13;
			delete from t_student where age not in(11,12,13);
		-	删除所有入学学员 (intime 不是null)
			delete from t_student where intime is not null;
		-	删除所有未入学学员 (intime 是 null)
			delete from t_student where intime is null;
		
		练习:	删除年龄在10-15岁之间 , 且 id 大于10 或 小于5的学员
			delete from t_student where age>10 and age<15 and (id>10 or id<5);
			delete from t_student where age>10 and age<15 and id>10 or id<5;
where 条件 *
运算符:
	1.	>	*
	2.	<	*
	3.	>=	*
	4.	<=	*
	5.	=	*
	6.	!=	*
	7.	in(元素1,元素2...元素n)
	8.	between...and
	9.	and 	*
	10.	or	*
	11.	not
	12.	is null *: 	在SQL语句中, null值的判断, 不能使用 xx=null 或 xx!=null . 
					如果需要判断为null的 , 使用 xx is null;
					如果需要判断不为null的 , 使用 xx is not null

	13.	like 	用于字符串的模糊查询  , 
				包含一些占位符的语法:
					1.	_:	单个任意字符
					2.	%:	n个任意字符

		例如:	姓名第一个字为 "小"
					where name like "小%";
				姓名第二个字为 "麟"
					where name like "_麟%";
				姓名中包含 "嘿嘿"
					where name like "%嘿嘿%";

可以使用小括号, 提高某部分运算的优先级.
修改数据 ***
语法1.	修改 表格中所有记录
		update 表名 set 字段名1=字段新值,字段名2=字段新值...字段名n=字段新值;
语法2.	修改 满足where条件的记录
		update 表名 set 字段名1=字段新值,字段名2=字段新值...字段名n=字段新值 where 条件;

练习:
	1.	修改所有学生的入学日期为: 2008-10-1 08:00
		update t_student set intime="2008-10-1 08:00";
	2.	将id大于10的学生,  年龄统一修改为20
		update t_student set age=20 where id>10;
	3.	将生日在2008年以后的学生的 入学日期修改为 2019-10-1 
		update t_student set intime="2019-10-1" where birthday >= "2008-1-1 00:00";
	4.	将姓名中包含6的学生 , 姓名更改为 dsb
		update t_student set name="dsb" where name like "%6%";
	5.	将所有姓s的学生 , 姓名更改为 哈哈哈
		update t_student set name="哈哈哈" where name like "s%";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android 13上,可以使用以下代码来分享本地文件: ```java // 获取要分享的文件 File file = new File("/your/file/path"); // 创建发送意图 Intent shareIntent = new Intent(Intent.ACTION_SEND); // 设置分享文件类型 shareIntent.setType("*/*"); // 将文件添加到意图中 Uri uri = FileProvider.getUriForFile(this, "your.package.name.fileprovider", file); shareIntent.putExtra(Intent.EXTRA_STREAM, uri); // 添加分享标题 shareIntent.putExtra(Intent.EXTRA_SUBJECT, "分享文件"); // 启动分享意图 startActivity(Intent.createChooser(shareIntent, "分享文件")); ``` 需要注意以下几点: 1. 在Android 7.0及以上版本中,需要使用FileProvider来共享文件。 2. 在 setType() 方法中,可以设置要分享的文件类型,例如 "image/*" 表示分享图片文件。 3. 使用 Intent.EXTRA_SUBJECT 来添加分享标题。 另外,需要在 AndroidManifest.xml 文件中添加以下内容来配置 FileProvider: ```xml <provider android:name="androidx.core.content.FileProvider" android:authorities="your.package.name.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider> ``` 其中,android:authorities 属性的值应该是一个唯一的字符串,用于标识您的FileProvider。在上面的代码中,我们将其设置为 "your.package.name.fileprovider"。 最后,需要在 res/xml 目录下创建一个名为 file_paths.xml 的文件,用于指定要共享的文件路径。例如,以下代码指定 /storage/emulated/0/Download 目录下的所有文件都可以被共享: ```xml <paths> <external-path name="download" path="Download/" /> </paths> ``` 注意,以上代码中的 name 属性和 path 属性的值都可以自定义。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值