本文实例讲述了mysql数据库基础知识点与操作。分享给大家供大家参考,具体如下:
数据库
一、 修改数据表
添加一列:
ALTERTABLE tab_name ADD col_name column_defi[FIRST|AFTER col_name];
可以指定新列的位置关系,位于最开头(FIRST)或者位于某列之后(AFTER…),否则新列默认位于最后。
添加多列:
ALTERTABLE tab_name ADD(col_name1 column_defi1,col_name2 column_defi2...);
删除一列:
ALTERTABLE tab_name DROP col_name;
删除多列或者删除之后再新增一列,只需在drop col_name之后加逗号,再写drop/add。
添加约束:
ALTERTABLE tab_name ADD PRIMARY KEY (index_column);
其中primary key可以替换为其他约束UNIQUE、FOREIGN KEY,默认约束为SET DEFAULT。
删除约束:
ALTERTABLE tab_name DROP {INDEX|KEY} index_name
删除外键:
ALTERTABLE tab_name DROP FOREIGN KEY fkey_name
其中外键约束名fkey_name可以通过show create table tab_name;查看constraint项得到,例如
CONSTRAINT `users_ibfk_1` FOREIGN KEY (`pid`) REFERENCES
修改列定义:
ALTERTABLE tab_name MODIFY col_name col_defi;
修改列名称:
ALTERTABLE tab_name CHANGE old_colname new_name col_defi;
修改数据表名称:
RENAMETABLE old_name TO new_name;
二、 数据表操作
插入记录:
INSERT tab_name[(col_name)] VALUES (val1,val2...)
其中列名可选,如果不设置列名,默认为对每一列都插入。第二种插入方法:INSERT tab_name SET col_name=val...第三种方法:insert tab_name select…,将查询结果插入数据表。
更新记录:
UPDATE tab_name SET col_name=val [WHERE condition];
where条件如果不填,默认对所有记录进行更新。
删除记录:
DELETE FROM tab_name [WHERE condition];
删除满足条件的记录,如不填where,全删。
查询记录:
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之间  |