-- 创建表 create table student( -- 学生信息表 sid int primary key auto_increment, -- 学号 sname varchar(20), -- 姓名 sex varchar(2), -- 性别 birth varchar(100), -- 出生日期 tel varchar(100), -- 联系电话 intime varchar(100), -- 入学时间 idcard varchar(100), -- 身份证号码 saddr varchar(200), -- 家庭住址 cid int -- 所属班级 ); -- 查看建表结构 show columns from student -- 删除表 drop table student -- 可能会报错(如果表不存在就会报错) drop table if exists student -- 不会报错 -- 多行数据的添加 insert into student (sname,sex,birth,tel,intime,idcard,saddr,cid) values (\'李四\',\'女\',\'2000-08-05\',\'1234567\',\'2017-03-01\',\'1234567890\',\'南漳\',\'1\'), (\'王五\',\'女\',\'1998-11-09\',\'1234567\',\'2017-03-01\',\'1234567890\',\'老河口\',\'2\'), (\'赵六\',\'男\',\'2001-09-09\',\'1234567\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'2\'), (\'孙七\',\'男\',\'2001-09-22\',\'1234567\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'1\'), (\'羿才良\',\'男\',\'1998-01-01\',\'1234567\',\'2017-03-01\',\'1234567890\',\'老河口\',\'2\'), (\'左锐志\',\'男\',\'1998-09-01\',\'1234567\',\'2017-03-01\',\'1234567890\',\'南漳\',\'4\'), (\'蓝玉轩\',\'女\',\'1999-05-26\',\'1234567\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'6\'), (\'刁成和\',\'男\',\'2001-12-22\',\'1234567\',\'2017-03-01\',\'1234567890\',\'老河口\',\'5\'), (\'江强\',\'男\',\'1998-04-11\',\'1234567\',\'2017-03-01\',\'1234567890\',\'谷城\',\'6\'), (\'关安安\',\'女\',\'2001-05-29\',\'1234567\',\'2017-03-01\',\'1234567890\',\'老河口\',\'5\'), (\'郑从安\',\'女\',\'2000-01-05\',\'1234567\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'4\'), (\'龚磐\',\'男\',\'2000-02-14\',\'1234567\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'7\'), (\'邬巧兰\',\'女\',\'2002-03-01\',\'1234567\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'1\'), (\'龚邢\',\'男\',\'1998-08-24\',\'1234567\',\'2017-03-01\',\'1234567890\',\'南漳\',\'1\'), (\'云秋华\',\'女\',\'1999-06-04\',\'1234567\',\'2017-03-01\',\'1234567890\',\'南漳\',\'4\'), (\'庄莹华\',\'女\',\'1998-09-25\',\'1234567\',\'2017-03-01\',\'1234567890\',\'枣阳\',\'7\'), (\'郜宁\',\'男\',\'1999-12-24\',\'1234567\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'3\'), (\'荆武\',\'男\',\'2001-05-07\',\'1234567\',\'2017-03-01\',\'1234567890\',\'枣阳\',\'1\'), (\'林熙华\',\'女\',\'2000-10-27\',\'111111212144654464564562121111111\',\'2017-03-01\',\'1234567890\',\'襄阳市区\',\'2\'); -- 常用函数
-- 第一 字符(串)函数 -- 返回最左边字符的ascii码 字符 a = 97 select ASCII(\'abc\'); -- 返回所有 ASCII 码对应的字符 97,98,99 所对应的 ASCII 码是 A B C select CHAR(97,98,99); -- 获取指定字符的长度 \'ADGHJ\' 这个字符的长度是 5 select CHAR_LENGTH(\'ADGHJ\'); -- 在字符串中查找指定的字符(串)的下标从 1 开始计数、找不到返回 0 第二个参数是指定的字符串 select INSTR(\'123465789AB\',\'AB\'); -- 字符串的截取 select SUBSTR(\'ABCDEFGHGELMN\' FROM 3 FOR 3); -- 从第 3 个 开始截取、往后截取 3个 select SUBSTR(\'ABCDEFGHGELMN\',3,3); -- 也是从第三个开始截取、往后截取三个 select SUBSTR(\'ABCDEFGHGELMN\',3); -- 从第三个开始截取、截取后面的全部 -- 字符串的替换 、 把(张三)换成 (李四) select REPLACE(\'Hello 张三\',\'张三\',\'李四\'); -- 字符串的拼接 把(张三,李四,王五)这三个字符拼接到一起 select CONCAT(\'张三,\',\'李四,\',\'王五\'); -- 后面还可以拼接多个字符串
-- 第二 数值函数 -- 绝对值 select ABS(-100); -- 不小于 X 的最小整数 可以用在分页计算总页数 (1.99 取整数加一) select ceil(1.99); -- 不大于 X 的最大整数 舍弃小数取整数 select floor(1.99); -- 四舍五入取整数 select ROUND(1.99); -- 保留指定的小数位数,多的舍弃 select TRUNCATE(1.9999999999999,2); -- 结果是 1.99 多的小数舍弃了 -- 获取 0 - 1 之间的随机小数 select rand();
-- 第三 日期函数 -- 获取当前的时间 select now(),LOCALTIME(),LOCALTIME,LOCALTIMESTAMP(),SYSDATE(); -- 年-月-日 时:分:秒 select CURRENT_DATE(),CURRENT_DATE,CURDATE(); -- 年-月-日 select CURRENT_TIME(); -- 时:分:秒 -- 计算两个日期相隔的天数 select DATEDIFF(\'2017-06-06\',CURRENT_DATE); -- CURRENT_DATE 当前的 年-月-日 (不要带上 时:分:表 不然会少算一天的) select TIMESTAMPDIFF(DAY,CURRENT_DATE,\'2017-06-06\'); -- TIMESTAMPDIFF 和 SQL server 的 datediff() 用法类似 -- 获取当前月的最后一天 select LAST_DAY(now()); -- 获取指定单位的时间 select YEAR(now()); -- 年 select MONTH(now()); -- 月 select day(now()); -- 日 select HOUR(now()); -- 时 select MINUTE(now()); -- 分 select SECOND(now()); -- 秒 -- 年-月-日 时:分:秒 (分别获取) select YEAR(now()),MONTH(now()),day(now()),HOUR(now()),MINUTE(now()),SECOND(now()); -- 日期的加减 -- 一年后的今天 select DATE_ADD(now(),INTERVAL 1 year); -- 一年前的今天 select DATE_SUB(now(),INTERVAL 1 year); select * from student;