MySQL数据类型及函数练习

版权声明:技术分享,转载附上笔者链接即可 https://blog.csdn.net/lwqBrell/article/details/88373891

【1】创建表tmp1,其中字段x,y,z,m,n数据类型依次为TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT

CREATE TABLE tmp1  ( 
x TINYINT,  
y SMALLINT,  
z MEDIUMINT,  
m INT,  
n BIGINT );

【2】创建表tmp2,其中字段x,y,z,m,n数据类型依次为FLOAT(5,1)、DOUBLE(5,1)、DECIMAL(5,1),向表中插入数据5.12,5.15,5.123,

CREATE TABLE tmp2 ( x  FLOAT(5,1),  y DOUBLE(5,1),  z DECIMAL(5,1) );

【3】创建数据表tmp3,定义数据类型为YEAR的字段y,向表中插入值2010,‘2010’,‘2166’

创建表tmp3:
CREATE TABLE tmp3(  y YEAR );
插入数据:
insert into tmp3 values(2010),('2010'),('2166');

【4】向tmp3表中y字段插入2位字符串表示的YEAR值,分别为‘0’,‘00’,‘10’,‘66’

DELETE FROM tmp3;
INSERT INTO tmp3 values('0'),('00'),('77'),('10');

【5】向tmp3表中y字段插入2位数字表示表示的YEAR值,分别为0,78,11

DELETE FROM tmp3;
INSERT INTO tmp3 values(0),(78),(11);

【6】创建数据表tmp4,定义数据类型为TIME的字段t,向表中插入值‘10:05:05’,‘23:23’,‘2 10:10’,‘3 02’,‘10’

CREATE TABLE tmp4( t TIME );
insert into tmp4 values('10:05:05 '), ('23:23'), ('2 10:10'), ('3 02'),('10');


【7】表tmp4中插入值‘101112’,111213,‘0’,107010

DELETE FROM tmp4;
INSERT INTO tmp4 values('101112'),(111213),( '0') ,(107010);

【8】向tmp4表中插入系统当前时间

DELETE FROM tmp4;
INSERT INTO tmp4 values (CURRENT_TIME) ,(NOW());

【9】创建数据表tmp5,定义数据类型为DATE的字段d,向表中插入“YYYY-MM-DD”和“YYYYMMDD”字符串格式日期

create table tmp5(d DATE);
insert into tmp5 values('1998-08-08'),('19980808'),('20101010');

【10】向tmp5表中插入“YY-MM-DD“和“YYMMDD”字符串格式日期

DELETE FROM tmp5;
insert into tmp5 values('99-09-09'),( '990909'), ( '000101') ,( '121212');

【11】向tmp5表中插入YY-MM-DD和YYMMDD数字格式日期

DELETE FROM tmp5;
insert into tmp5 values(19990909),( 990909), ( 000101) ,( 121212);

【12】向tmp5表中插入系统当前日期

DELETE FROM tmp5;
insert into tmp5 values( CURRENT_DATE() ),( NOW() );

【13】创建数据表tmp6,定义数据类型为DATETIME的字段dt,向表中插入“YYYY-MM-DD

HH:MM:SS”和“YYYYMMDDHHMMSS”字符串格式日期和时 间值
CREATE TABLE tmp6(  dt DATETIME );
INSERT INTO tmp6 values('1998-08-08 08:08:08'),('19980808080808'),('20101010101010');

【14】向tmp6表中插入“YY-MM-DD HH:MM:SS “和“YYMMDDHHMMSS”字符串格式日期和时间值

DELETE FROM tmp6;
INSERT INTO tmp6 values('99-09-09 09:09:09'),('990909090909'),('101010101010');

【15】向tmp6表中插入YY-MM-DD HH:MM:SS 和YYMMDDHHMMSS数值格式日期和时间值

DELETE FROM tmp6;
INSERT INTO tmp6 values('19990909090909'), ('101010101010');

【16】向tmp6表中插入系统当前日期和时间值

DELETE FROM tmp6;
insert into tmp6 values( NOW() );

【17】创建数据表tmp7,定义数据类型为TIMESTAMP的字段ts,向表中插入值‘19950101010101’,‘950505050505’,‘1996-02-02 02:02:02’,‘97@03@03 03@03@03’,121212121212,NOW()

CREATE TABLE tmp7( ts TIMESTAMP);
INSERT INTO tmp7 
values ('19950101010101'),
('950505050505'),
('1996-02-02 02:02:02'),
('97@03@03 03@03@03'),
(121212121212),
( NOW() );

【18】向tmp7表中插入当前日期,查看插入值,更改时区为东10区,再次查看插入值,SQL语句如下:

DELETE FROM tmp7;
mysql> insert into tmp7 values( NOW() );


【20】创建tmp8表,定义字段ch和vch数据类型依次为CHAR(4)、VARCHAR(4)向表中插入数据‘ab  ’,SQL语句如下:

CREATE TABLE tmp8( ch  CHAR(4),  vch  VARCHAR(4) );
INSERT INTO tmp8 VALUES('ab  ', 'ab  ');

【21】创建表tmp9,定义ENUM类型的列enm('first','second','third'),查看列成员的索引值,SQL语句如下:

create table tmp9( enm ENUM('first','second','third') );
insert into tmp9 values('first'),('second') ,('third') ,('') ,(NULL);

【22】创建表tmp10,定义INT类型的soc字段,ENUM类型的字段level,列表值为('excellent','good', 'bad'),向表tmp10中插入数据‘good’,1,2,3,‘best’,SQL语句如下:

Create table tmp10 (soc INT, level enum('excellent', 'good','bad') );
insert into tmp10 values(70,'good'), (90,1),(75,2),(50,3),(100,'best');


【23】创建表tmp11,定义SET类型的字段s,取值列表为('a', 'b', 'c', 'd'),插入数据('a'),('a,b,a'),('c,a,d'),('a,x,b,y')。

create table tmp11 ( s SET('a', 'b', 'c', 'd'));
INSERT INTOtmp11 values('a'),( 'a,b,a'),('c,a,d'),('a,x,b,y');

【24】创建表tmp12,定义BIT(4)类型的字段b,向表中插入数据2、9、15、16。

create table tmp12( b BIT(4) );
insert into tmp12 VALUES(2), (9), (15),(16);

【25】创建表tmp13,定义BINARY(3)类型的字段b和VARBINARY(3)类型的字段vb,并向插入数据‘5’,比较两个字段的存储空间:
首先创建表tmp13,输入SQL语句如下:

CREATE TABLE tmp13( b binary(3),  vb varbinary(30) );
INSERT INTO tmp13 VALUES(5,5);
SELECT length(b), length(vb) FROM tmp13;
 SELECT b,vb,b = '5', b='5\0\0',vb='5',vb = '5\0\0' FROM tmp13;

【26】创建表tmp14,定义数据类型为INT的字段num,插入值64,对num值进行算术运算:

CREATE table tmp14 ( num INT);
INSERT INTO tmp14 value(64);
SELECT num, num+10, num-10, num+5-3, num+36.5 FROM tmp14;

【27】对tmp14表中的num进行乘法,除法运算

SELECT num, num *2, num /2, num/3, num%3 FROM tmp14;

【28】用0除num

SELECT num, num / 0, num %0 FROM tmp14;

【29】使用“=”进行相等判断,

SELECT 1=0, '2'=2, 2=2,'0.02'=0, 'b'='b', (1+3) = (2+1),NULL=NULL;

【30】使用‘<=>’进行相等的判断,SQL语句如下:

SELECT 1<=>0, '2'<=>2, 2<=>2,'0.02'<=>0, 'b'<=>'b', (1+3) <=> (2+1),NULL<=>NULL;

【31】使用‘<>’和‘!=’进行不相等的判断,SQL语句如下:

SELECT 'good'<>'god', 1<>2, 4!=4, 5.5!=5, (1+3)!=(2+1),NULL<>NULL;

【32】使用‘<=’进行比较判断,SQL语句如下:

SELECT 'good'<='god', 1<=2, 4<=4, 5.5<=5, (1+3) <= (2+1),NULL<=NULL;

【33】使用‘<=’进行比较判断,SQL语句如下:

SELECT 'good'<'god', 1<2, 4<4, 5.5<5, (1+3) < (2+1),NULL<NULL;

【34】使用‘>=’进行比较判断,SQL语句如下:

SELECT 'good'>='god', 1>=2, 4>=4, 5.5>=5, (1+3) >= (2+1),NULL>=NULL;

【35】使用‘>’进行比较判断,SQL语句如下:

SELECT 'good'>'god', 1>2, 4>4, 5.5>5, (1+3) > (2+1),NULL>NULL;

【36】使用IS NULL,ISNULL和IS NOT NULL判断NULL值和非NULL值,SQL语句如下:

SELECT NULL IS NULL, ISNULL(NULL),ISNULL(10), 10 IS NOT NULL;

【37】使用BETWEEN AND 进行值区间判断,输入SQL语句如下:

SELECT 4 BETWEEN 4 AND 6, 8 BETWEEN 6 AND 8,12 BETWEEN 9 AND 10;

【38】使用LEAST运算符进行大小判断,SQL语句如下:

SELECT least(2,0), least(20.0,3.0,100.5), least('a','c','b'),least(10,NULL);

【39】使用GREATEST运算符进行大小判断,SQL语句如下:

SELECT greatest(2,0), greatest(20.0,3.0,100.5), greatest('a','c','b'),greatest(10,NULL);

【40】使用IN,NOT IN运算符进行判断,SQL语句如下:

SELECT 2 IN (1,3,5,'thks'), 'thks' IN (1,3,5,'thks');

【41】存在NULL值时的IN查询,SQL语句如下:

SELECT NULL IN (1,3,5,'thks'),10 IN (1,3,NULL,'thks');

【42】使用运算符LIKE进行字符串匹配运算,SQL语句如下:

SELECT 'stud' LIKE 'stud', 'stud' LIKE 'stu_','stud' LIKE '%d','stud' LIKE 't_ _ _', 's' LIKE NULL;

【43】使用运算符REGEXP进行字符串匹配运算,SQL语句如下:

SELECT 'ssky' REGEXP '^s', 'ssky' REGEXP 'y$', 'ssky' REGEXP '.sky', 'ssky' REGEXP '[ab]';

【44】分别使用非运算符“NOT”和“!”进行逻辑判断,SQL语句如下:

SELECT NOT 10, NOT (1-1), NOT -5, NOT NULL, NOT 1 + 1;

【45】分别使用与运算符“AND”和“&&”进行逻辑判断,SQL语句如下:

SELECT  1 AND -1,1 AND 0,1 AND NULL, 0 AND NULL;

【46】分别使用或运算符“OR”和“||”进行逻辑判断,SQL语句如下:

SELECT  1 OR -1 OR 0, 1 OR 2,1 OR NULL, 0 OR NULL, NULL OR NULL;

【47】使用异或运算符“XOR”进行逻辑判断,SQL语句如下:

SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 1 XOR NULL, 1 XOR 1 XOR 1;

【48】使用位或运算符进行运算

SELECT 10 | 15, 9 | 4 | 2;

【49】使用位与运算符进行运算

SELECT 10 & 15, 9 &4& 2;

【50】使用位异或运算符进行运算

SELECT 10 ^ 15, 1 ^0, 1 ^ 1;

【51】使用位左移运算符进行运算

SELECT 1<<2, 4<<2;

【52】使用位右移运算符进行运算

SELECT 1>>1, 16>>2;

【53】使用位取反运算符进行运算

SELECT 5 & ~1;

注:习题为笔者平时练习时所收藏,如有冒犯,请联系笔者删除!

猜你喜欢

转载自blog.csdn.net/lwqBrell/article/details/88373891