Mysql简单语法

1、添加列:ALTER  ...ADD   

单列:ALTER TABLE 表名 ADD 新加列名 属性 [AFTER] 已有列名(可以指定位置)

添加多列:不能指定位置

2、删除列:ALTER...DROP...,DROP....

还可以同时删除同时添加,DROP及ADD

3、添加主键约束:

Mysql简单语法_第1张图片

4、删除约束:主键约束、唯一约束、外键约束等,与删除列相似,其中删除主键约束无需列出列名,因主键只有一个,其他删除时需注明列名

查询数据:

1、查询数据通用的SELECT语法:

SELECT column_name1,column_name2  FROM table_name

可以使用一个或多个表,用逗号分隔,可以读取一条或多条记录,可以使用LIMIL属性设定返回的记录数

2、使用WHERE子句读取数据:

SELECT field1, field2 FROM table_name1, table_name2  [WHERE condition1 [AND [OR]] condition2

WHERE子句中可以指定任何条件,也可运用于DELETE或UPDATE命令

修改数据:

update语句使用形式:修改表中的数据

1、将 id 为 9的手机号改为默认的 - : update students settel=default where id=9

2、将所有人的年龄增加 1:update students set age=age+1

3、将手机号为 132880 的姓名改为 "小明", 年龄改为 19: update students set name="小明", age=19 where tel="132880"

替换某个字段中的某个字符

UPDATE table_name SET field=REPLACE(field, 'old-string', 'new-string') [WHERE Clause]

删除数据

DELETE语句:

DELETE FROM table_name [WHERE Clause]

不加where条件时删除表中的所有数据

LIKE子句

通常与%使用,类似一个元字符的搜索,可以再DELETE或UPDATE命令中使用WHERE。。。LIKE。。

'%a' 以a结尾的数据    ‘a%’ 以a开头的数据    ‘%a%’含有a的数据

'_a_'三位且中间字母是a的    '_a'两位且结尾字母是a   'a_'两位且开头字母是a

UNION操作符

用于连接两个以上的SELECT语句的结果组合到一个结果中,多个查询语句会删除重复的数据,检索

SELECT expression1, expression2, ... expression_n FROM tables[WHERE conditions]

UNION [ALL | DISTINCT]

SELECT expression1, expression2, ... expression_n FROM tables[WHERE conditions]

SELECT要检索的列FROM表[条件]UNION SELETE要检索的列FROM表 条件

其中ALL代表所有数据,包含重复数据,DISTINCT为默认,删除重复数据,可不加

ORDER BY 排序

SELECT field1, field2  table_name1, table_name2 ORDER BY field1, [field2...] [ASC [DESC]]

ASC与DESC设置结果为升序或降序,默认为升序;可添加WHERE。。LIKE子句设置条件

GROUP BY 分组

SELECT column_name, function(column_name) FROM table_name

WHERE column_name operator value

GROUP BY column_name

根据一个或多个列对结果集进行分组,在分组的列上可以使用COUNT,SUM,AVG(function)等函数

连接的使用:

两个或多个表中查询数据,JION的使用

INNER JION(内连接,等值连接):获取两个表中字段匹配关系的记录

LEFT JION(左连接):获取左表中所有记录,即使右表中没有对应匹配的记录

RIGHT JION(右连接):获取右表中所有记录,即使左表中没有对应匹配的记录

SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author

相当于

SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author

NULL值的处理:

IS NULL:

IS NOT NULL:

<=>:比较操作符,不同于=运算符,当比较的两个值为NULL时返回true

注意:不能使用=NULL或!=NULL来查找空值,因NULL与任何值得比较永远返回false,即使NULL=NULL也会是false

正则表达式:

^:匹配字符串的开始位置

$:匹配字符串的结束位置

.:匹配除“\n”之外的任何单个字符

[...]:字符集合,匹配包含的任意一个字符 

[^...] :负值字符集合,匹配未包含的任意字符  

p1|p2|p3:匹配p1或p2或p3

 *:匹配前面的子表达式一次或多次  

+:匹配前面的子表达式一次或多次 

 {n}:n是一个非负整数,匹配确定的n次   

{n,m}:m和n均为非负整数,其中n<=m,最少匹配n次且最多匹配m次

ALTER命令:

当需要修改数据表名或者修改数据表字段时需要使用ALTER命令

删除列:ALTER TABLE 表名 DROP 列名

添加列:ALTER TABLE 表名 ADD 列名 属性 [FIRST](AFTER 列名)

其中FIRST和AFTER只占用ADD子句,如果想重置数据表字段的位置就需要先删除DROP然后再添加ADD并且设置位置

修改字段类型及名称,使用MODIFY或CHANGE:

ALTER TABLE testalter_tbl MODIFY 列名 CHAR(10)(此为更改后的数据类型)

ALTER TABLE testalter_tbl CHANGE 要修改的字段名  新字段名   新数据类型















你可能感兴趣的:(Mysql简单语法)