Mysql(2)

来源:互联网 发布:java的标识符和关键字 编辑:程序博客网 时间:2024/06/05 16:43
 

1.      操作数据(查询)

1.1.      DISTINCT

语法

       SELECT [DISTINCT] 列名[, 列名]... FROM 表名

1.2.      列名表达式

语法

       SELECT 列名|表达式[,列名|表达式]... FROM 表名

注意事项

       表达式只是显示时起作用, 不会改变数据库中的值

1.3.      AS

       SELECT 列名 AS 别名 FROM 表名

注意事项

       起别名时AS可以省略

       不会改变数据库中的值

1.4.      WHERE

语法

       SELECT 列名 FROM 表名 [WHERE 条件语句.

1.5.      RDER BY

语法

       SELECT 列名 FROM 表名 ORDER BY 列名 ASC|DESC;

注意事项

       ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT语句后面起的别名

       ASC为升序, DESC为降序

       ORDER BY应在查询语句的结尾

1.6.      OUNT函数

语法

SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 条件语句]

注意事项

       COUNT(列名)的方式是统计指定列中有多少条记录, 不包括值为NULL的

       COUNT(*)则是统计表中有多少条数据

       COUNT(DISTINCT 列名) 统计不重复的记录数

       如果加上WHERE子句, 则是统计满足条件的记录

1.7.      SUM函数

语法

       SELECT SUM(列名) FROM 表名 [WHERE 条件语句];

1.8.      VG函数

语法

       SELECT AVG(列名) FROM 表名 [WHERE 条件语句];

1.9.      MAX / MIN函数

语法

       SELECT MAX(列名) FROM 表名 [WHERE 条件语句];

       SELECT MIN(列名) FROM 表名 [WHERE 条件语句];

1.10.  GROUP BY(重点)

语法

       SELECT 列名 FROM 表名 GROUP BY 列名 [HAVING 条件语句]

2.      函数

ADDTIME(原时间, 增加值)       在某个时间上增加一段时间

CURRENT_DATE()                    当前日期

CURRENT_TIME()                    当前时间

CURRENT_TIMESTAMP()         当前时间戳

DATE(时间)                               返回制定时间的日期部分

DATE_ADD(日期,INTERVAL 增加值 类型)           在指定日期上对某个字段增加

DATE_SUB(日期,INTERVAL 减少值 类型)            在指定日期上对某个字段减少

DATEDIFF(日期1, 日期2)        计算两个日期之间的差值

NOW()          当前时间

YEAR|MONTH|DATE|HOUR|MINUTE|SECOND(时间)          获取指定时间的某个字段

2.1.      字符串函数

CHARSET(字符串)                                                返回字符串字符集

       select charset(name) from student;

CONCAT(字符串1[, 字符串2]... )                         连接字符串

       select concat('aaa', 'bbb', 'ccc');

INSTR(字符串, 子字符串)                                     查找子字符串出现位置, 注意序号从1开始

       select instr('abc', 'a');

UCASE(字符串)                                                     将字符串转为大写

       select ucase('aBc');

LCASE(字符串)                                                     将字符串转为小写

       select lcase('aBc');

LEFT(字符串, 长度)                                              从字符串左边取指定长度个字符

       select left('aBc',2);

LENGTH(字符串)                                                  计算字符串长度

       select length('aBc');

REPLACE(字符串, 搜索字符串, 替换字符串)        将字符串中指定字符串替换为其他字符串

       select replace('abbcbbd', 'bb', 'ee');

STRCMP(字符串1, 字符串2)                                逐个字符比较两个字符串, 如果是包含关系, 则返回长度差值

       select strcmp('abcc', 'abde');

       select strcmp('abc', 'ab');

SUBSTRING(字符串, 开始坐标[, 个数])         从字符串中截取

       select substring('abcdef', 3);

       select substring('abcdef', 3, 2);

LTRIM(字符串)                                                      去掉左边空白

       select ltrim('    abc   ');

       select concat('--', ltrim('    abc   '), '--');

RTRIM(字符串)                                                      去掉右边空白

       select concat('--', rtrim('    abc   '), '--');

TRIM(字符串)                                                        去掉左右两边空白

       select concat('--', trim('    abc   '), '--');

2.2.      数学函数

ABS(数字)                                        求绝对值

BIN(十进制数)                                  将十进制转换为二进制

HEX(十进制数)                                将十进制转换为十六进制

CONV(数字, 原进制, 目标进制)       转换进制

CEILING(小数)                                 向上取整

FLOOR(小数)                                   向下取整

ROUND(小数)                                  四舍五入      

FORMAT(小数, 保留位数)                保留小数位

LEAST(值,值[,值]...)                         取最小值

GREATEST(值,值[,值]...)                  取最大值

MOD(数字, 数字)                             取余

RAND()                                            生成随机数, 14位小数, 0 <= n <= 1

3.      表的约束

3.1.      唯一约束 unique

unique约束的字段在整张表中唯一, 不可重复, 不包括多个NULL

3.2.      非空约束 not null

not null约束的字段不能为空

删除非空约束

alter table test1 change name name varchar(20);

 

添加非空约束

alter table test1 change name name varchar(20) not null;

3.3.      主键约束 primary key

通常我们在设计表的时候需要给每一条记录一个独有的标识, 我们就用主键来约束这个标识.

primary key用来标识一个字段, 这个字段是非空且唯一的.

3.4.      键约束 foreign key

foreign key约束某一列的值是参照另外一列

被外键引用的记录不能删除, 如果想要删除某条被引用的记录, 需要找到引用这条记录的记录, 解除关联

 

被外键引用的表不能删除, 如果想要删除被引用的表, 需要删除所有引用此表的外键

 

删除外键约束

alter table wife drop foreign key husband_id_fk;

 

添加外键约束

alter table wife add constraint husband_id_fk foreign key(husband_id) references husband(id)