Mysql基础语句
一、表操作
删除表:
DROP TABLE table_name
创建表:
CREATE TABLE table_name
Eg :
CREATE
TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY
( `runoob_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、数据操作
查询数据:
SELECT * FROM table_name LIMIT 50
查询去重复值:
SELECT DISTINCT 列名称 FROM 表名称
有条件的选取数据:
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
PS:需要注意的是单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
基于一个以上的条件进行过滤:
SELECT * FROM Persons WHERE(FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'
插入数据:
INSERT INTO 表名称VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
数据排序:
SELECT Company, OrderNumber FROM
Orders ORDER BY Company DESC
Ps:如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
修改数据:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
删除表中行:
DELETE FROM 表名称 WHERE 列名称 = 值
查询指定字段数据:
SELECT * FROM runoob_tbl WHERE runoob_author LIKE'%COM'
正则表达式:
eg:查找以‘st’开头的数据
SELECT * FROM table_name
WHERE * REGEXP '^st'
查找以OK结尾的数据
SELECT * FROM table_name WHERE* REGEXP ‘OK$'
查找包含’mar‘所有字符串
SELECT * FROM table_name WHERE
* REGEXP ‘mar'
三、高级教程:
LIKE在WHERE中搜索列中制定模式:
SELECT * FROM Persons
WHERE City LIKE '%g'
PS:"%" 可用于定义通配符(模式中缺少的字母)'%g'-以g结尾;'g%'-以g开始;'%g%'-包含g;不包含可以用NOT LINK
通配符WHERE语句中规定多值:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
WHERE语句中取介于两者之间数据范围
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
结合合计函数,根据一个或多个列对结果集进行分组:
SELECT column_name,aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name