『MySQL学习』MySQL学习及相关注意点
来源:互联网 发布:三位一体2 mac版 编辑:程序博客网 时间:2024/04/29 20:33
1、给变量赋值时,赋值符号两边不能有空格。如:
set @test:=1;
注:不要忘记 :
2、使用变量时必须要加上 @
3、如果某表存在则删除的语句是:DROP TABLE IF EXISTS table_name
4、mysql常用 时间计算函数
5、engine=memory是指这张表作为一张内存表.内存表的特点是读写快,但重启后会清空.并且对字段大小和类型有要求
注:在创建表时,engine=memory 需放在 字段 后面
6、time_to_sec()函数仅仅计算了时间部分的秒数,没有把年月日的秒数计算进去
7、UNIX_TIMESTAMP(),这个函数返回的是自1970年以来的秒数
8、协调世界时(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC
9、利用两个原有的表建立新表
DROP TABLE IF EXISTS test_3;CREATE TABLE test_3 AS ( SELECT a, b, c FROM test_1, test_2WHERE test_1.a = test_2.aa);
10、连接数据库:use database_name;
11、ENUM和SET的区别: ENUM 类型的数据的值,必须是定义时枚举的值的其中之一,即单选,而 SET 类型的值则可以多选
12、
在MySQL中,通常有这几种约束:
14、_ 表示一个未指定字符,%表示不定个未指定字符
15、默认情况下,ORDER BY的结果是升序排列,而使用关键词ASC和DESC可指定升序或降序排序
16、利用 SELECT 结果创建表
USE DATABASE_name;CREATE TABLE test SELECT a, b, c FROM TABLE_name;SELECT * FROM test;
注意:如果在数据拷贝进表时发生错误,则表会被自动删除
17、利用空拷贝来创建新表
CREATE TABLE test SELECT * FROM test2 WHERE 0;
注意:可以用在希望建立跟 test2 表的列名和数据类型一样的新表,免去建表的麻烦
18、创建临时表
CREATE TEMPORARY TABLE
19、利用 INSERT INTO ... SELECT 来更新多行数据
# 建立一个空表CREATE TABLE test_1 SELECT * FROM test2 WHERE 0;# 利用 INSERT ... SELECT 来插入多行值INSERT INTO test_1 SELECT * FROM test2;SELECT * FROM test_1;
注意:查询不能包括一个 ORDER BY 子句
20、使用数据集更新数据到数据库表中
LOAD DATA LOCAL INFILE file_path INTO TABLE -- 想导入到哪个表 TABLE_nameFIELDS ESCAPED BY '\\' -- 字段中使用的转义符为 \\TERMINATED BY ',' -- 字段间以 , 号分隔ENCLOSED BY '"' -- 字段用 " 号括起LINES TERMINATED BY '\r\n' -- 行以 \r\n 结束(a, b, c);
21、查询语句的关键字必须以以下的顺序给出:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
LIMIT count
注意:在 MySQL 中除了 SELECT 外其它关键字都是可选的(但有的数据库不允许省略 FROM 关键字)
22、ORDER BY 可以使用多个 字段,排序顺序为从左到右
23、SELECT a, count(a) FROM test_4 GROUP BY a;
先对 a 分组,再按组来统计
GROUP BY 也可以使用多个字段,字段顺序也是从左到右
注意:count() 统计的是非空数据
24、清空整个表
DELETE FROM test_4;
一般都要加上 WHERE 语句来删除某些特定的行
25、count() 统计的是非空数据,且是所有的非空数据的总数。如果加上 DISTINCT 关键字,则会统计不同种类的(不同的数)的总数,即去重后的总数
26、SELECT b, MIN(a) FROM test_4;
返回的结果是字段 a 最小的值(如有相同的数则返回最前的),b 字段返回的是 MIN(a) 所对应的值
27、日期函数
CURDATE() 返回的是当前的日期 如:2017-02-08
CURTIME() 返回的是当前的时间,如:15:11:02
NOW() 返回的是当前的 datetime 格式的时间
28、要想找到 NULL 必须用 IS NULL 而不是 =NULL
29、对某些列类型,NULL 值将被特殊地处理。如果你讲 NULL 插入表的第一个 TIMESTAMP 列,则插入当前的日期和时间。如果你讲 NULL 插入一个 AUTO_INCREMENT 列,则插入顺序中的下一个数字
- 『MySQL学习』MySQL学习及相关注意点
- 学习MySQL:体系结构及相关概念
- mysql命令学习相关
- mysql数据库相关学习
- mysql 学习相关截图
- MySQL注意点
- MYSQL注意点
- mysql distinct注意点
- mysql 注意点汇总
- mysql注意点
- MySQL相关学习资料分享
- mysql 联表操作及子查询操作注意点
- 学习Python中,总结一些语法相关注意点
- c++学习注意点
- ant学习-注意点
- Java学习注意点
- 指针学习注意点
- java学习注意点
- 符号三角形问题
- PAT---A1062. Talent and Virtue (25)
- ubuntu 虚拟机安装 samba 配置
- 计算机网络探究(二)TCP的连接和终止
- SDNU1185统计数字
- 『MySQL学习』MySQL学习及相关注意点
- 从尾到头打印链表
- hibernate不同版本获取sessionfactory的方式
- 神秘的40毫秒延迟与 TCP_NODELAY
- 计算机网络探究(三) TCP和HTTP的keepAlive
- puppet 配置 - 3.3 rpm 管理
- VC中获取当前exe文件运行路径
- 闭包
- wireshark sequence number 解码与原始消息不一致问题