创建环境:
CREATE TABLE `test_user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
`username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
`password` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO <表名> [(字段1,字段2,字段3…)] VALUES (数据1,数据2,数据3…);
插入的时候 后面括号的数据和前面要插入的字段数量和类型必须是一致的。 如果是字符型 得用 ''
或者""
引起来。
INSERT INTO `test_user` (id,username,password) VALUES (1, 'crush', '123456');
当插入数据和字段名数量全部相符时 可简写为:
INSERT INTO `test_user` VALUES (1, 'crush', '123456');
INSERT INTO <表名> (输入字段列表) SELECT (查询字段列表) FORM 查询数据表名 WHERE 条件
例如:
语法格式和之前是差不多的,就是多加了几行。
INSERT INTO `test_user`
VALUES
(4, 'it菜鸡', '123456'),
(5, 'mysql入门了吗', '123456'),
(6, '快了快了', '123456'),
(7, '不行了不行了', '123456'),
(8, '头发没啦,删库跑路', '123456')
;
语法格式:
UPDATE <表名> SET 字段1=值1,字段2=值2… [WHEHE 条件];
虽然这个where 在这里是[]括着 但是一般牵扯到更新语句 都是需要跟where 条件的。
先看下图 看个例子
update test_user set username='今天刚学mysql,还是个' where id=2;
在这里讲一下where 跟的条件
条件 可以是一个也可以是多个,这个和我们写算法和编程是没有区别的。
就像例子中的 id=2 也可以id >2 、id>=2 ,id<2 ,id <=2 ,id != 2 这些都是可以的。
在算法中 我们会有多个条件的判断 或者是其中一个条件达到就可以这里也是一样。
and :可以写成 where id=1 and username=crush
意思是 id=1并且 username= ‘crush’ 就是满足条件
简而言之就是我们 平时用的 && 符号。
**or: ** 还有 or 关键字 可以 where id=1 or username=it菜鸡
意思是 id=1 或者username= ‘it菜鸡’ 满足其中一个条件即可。 换而言之就是我们平时用的 || 符号。
删除和上面的更新是非常相似的。
删除语法格式:
DELETE FROM <表名> WHERE 条件
例子:
delete from test_user where id=1;
这里的 where 和 更新语句的是一样的, 条件等等也是一样的。就不再做重复说明。
数据表的检索。查询是用的最为频繁的语句,同时也是最为重要的语句。
SELECT 基本语法格式:
SELECT
{* | <字段列表>}
[
FROM <表1>,<表2> ... [WHERE <表达式>]
[GROUP By <grouo by definition>]
[HAVING <expression>[{operator} <expression>]...]
[ORDER BY <order by definition>]
[LIMIT [<offset>,<row count>]
]
SELECT [字段1,字段2,字段3....]
FROM [表]
WHERE [查询的条件];
一个一个解释:
语法格式:
SELECT * FROM <表名>
SELECT username,password FROM <表名>
SELECT username as '用户名',password as '密码' FROM <表名>
as 也可以给表取别名
SELECT
新表名.username as '用户名',
新表名.password as '密码'
FROM
<表名> as <新表名>
where
新表名.id>=1;
例子
SELECT
t.username as '用户名',
t.password as '密码'
FROM
test_user as t
where
t.id>=1;
搞完啦搞完啦。
感觉还好,这一次感觉内容应该足够啦吧。