mysql数据库基础知识点与操作小结
本文实例讲述了mysql数据库基础知识点与操作。分享给大家供大家参考,具体如下:
数据库
一、 修改数据表
添加一列:
?1 | ALTERTABLE tab_name ADD col_name column_defi[ FIRST | AFTER col_name]; |
可以指定新列的位置关系,位于最开头(FIRST)或者位于某列之后(AFTER…),否则新列默认位于最后。
添加多列:
?1 | ALTERTABLE tab_name ADD (col_name1 column_defi1,col_name2 column_defi2...); |
删除一列:
?1 | ALTERTABLE tab_name DROP col_name; |
删除多列或者删除之后再新增一列,只需在drop col_name之后加逗号,再写drop/add。
添加约束:
?1 | ALTERTABLE tab_name ADD PRIMARY KEY (index_column); |
其中primary key可以替换为其他约束UNIQUE、FOREIGN KEY,默认约束为SET DEFAULT。
删除约束:
?1 | ALTERTABLE tab_name DROP { INDEX | KEY } index_name |
删除外键:
?1 | ALTERTABLE tab_name DROP FOREIGN KEY fkey_name |
其中外键约束名fkey_name可以通过show create table tab_name;查看constraint项得到,例如
?1 | CONSTRAINT `users_ibfk_1` FOREIGN KEY (`pid`) REFERENCES |
修改列定义:
?1 | ALTERTABLE tab_name MODIFY col_name col_defi; |
修改列名称:
?1 | ALTERTABLE tab_name CHANGE old_colname new_name col_defi; |
修改数据表名称:
?1 | RENAMETABLE old_name TO new_name; |
二、 数据表操作
插入记录:
?1 | INSERT tab_name[(col_name)] VALUES (val1,val2...) |
其中列名可选,如果不设置列名,默认为对每一列都插入。第二种插入方法:INSERT tab_name SET col_name=val...第三种方法:insert tab_name select…,将查询结果插入数据表。
更新记录:
?1 | UPDATE tab_name SET col_name=val [ WHERE condition]; |
where条件如果不填,默认对所有记录进行更新。
删除记录:
?1 | DELETE FROM tab_name [ WHERE condition]; |
删除满足条件的记录,如不填where,全删。
查询记录:
?1 2 3 4 5 6 7 8 9 10 11 12 13 | SELECT col_name1,col_name2... /*选择需要查询的列名*/ FROM tab_name/*选择需要查询的数据表*/ WHERE condition/*查询条件*/ GROUP BY col_name [ ASC | DESC ]/*查询结果分组*/ HAVING condition/*对查询分组经行筛选*/ ORDER BY col_name[ asc | desc ]/*对查询结果经行排序*/ LIMIT [n1,]n2/*返回从n1开始的n2条结果,不填n1默认从开头返回*/ |
三、 子查询
父查询与子查询的连接由比较符号连接,子查询返回多个结果时还可以由ANY、ALL对结果进行修饰。
多表更新:参照另外一个表来更新本表。
内连接:INNERJOIN ON join_condition
,返回左右两表中满足条件的项。
左外连接:LEFTJOIN ON join_condition
,返回左表全部与右表中满足条件的项。
左外连接: RIGHT JOIN ON join_condition
,返回右表全部与左表中满足条件的项。
四、 数据库函数
CONCAT('a','b'…) |
连接a,b多个字符串 |
CONCAT_WS('s','a','b'…) |
以s为连接符连接多个字符串 |
FORMAT(f,n) |
以n位小数显示数字f |
LOWER()/UPPER() |
将内容转换为小/大写 |
LEFT/RIGHT(‘s',n) |
获取字符串左边/右边前n个字符 |
LENGTH() |
获取字符串长度 |
LTRIM/RTRIM/TRIM() |
去除字符串左边/右边/两边空格 |
REPLACE(‘s','a','b') |
将字符串s中的a字符替换为b |
SUBSTRING('s',n,e) |
截取字符串从第n位开始的e个字符 |
IS NULL |
判空 |
n IN(a,b,c…) |
判断n是否在列出的值中 |
n BETWEEN a AND b |
判断n是否在a到b之间 |
希望本文所述对大家MySQL数据库计有所帮助。
原文链接:https://blog.csdn.net/theVicTory/article/details/55051181
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。