SQL

314 阅读3分钟

创建数据

通过下面的语句,给刚才定义表中添加数据

INSERT INTO `my_first_db`.`user` (`id`, `username`, `password`, `ct`) VALUES ('1', 'hq', '11111', '2018-12-12  12:12:12');
  • 关键字 INSERT INTO 表示插入

  • my_first_db.user 表示数据库的名字以及表的名字,例如在Excel和sheet的关系,指定数据插入的目标

  • 剩下的是具体的插入数据。

  • (`id`, `username`, `password`, `ct`) VALUES ('1', 'hq', '11111', '2018-12-12 12:12:12'); 中间有一个关键字 VALUES 将整个句子分成两段 第一段是字段名字的列表 第二段是字段对应的值

实例

INSERT INTO `my_first_db`.`user` (`id`, `username`, `password`, `ct`) VALUES ('1', '子龙', '222222', '2018-11-21  19:12:12');

将这个语句CP 到 mysql workbench中,执行,看看效果

执行结果如下

17:04:54	INSERT INTO `my_first_db`.`user` (`id`, `username`, `password`, `ct`) VALUES ('1', '子龙', '222222', '2018-11-21  19:12:12')	Error Code: 1062. Duplicate entry '1' for key 'PRIMARY'	0.000 sec

分析如上错误

其中大部分是我们执行的sql语句,Error Code: 1062. Duplicate entry '1' for key 'PRIMARY' 0.000 sec 这个是对错误的描述;Error Code: 1062 错误代号,对我们没有用。 Duplicate entry '1' for key 'PRIMARY' 0.000 sec 有用信息,提示 Duplicate entry '1' for key 'PRIMARY'

Duplicate 关键字,重复,`for key 'PRIMARY'`` 主键重复,所以我们将1改成2,再试试

修改之后的SQL

INSERT INTO `my_first_db`.`user` (`id`, `username`, `password`, `ct`) VALUES ('2', '子龙', '222222', '2018-11-21  19:12:12');

执行的结果提示如下:

17:09:22	INSERT INTO `my_first_db`.`user` (`id`, `username`, `password`, `ct`) VALUES ('2', '子龙', '222222', '2018-11-21  19:12:12')	1 row(s) affected	0.016 sec

1 row(s) affected 影响了一行,表示成功执行,在打开表看看,是否真的插入了一行数据

通过如下的Sql语句

select * from my_first_db.user

但是返回如下的信息:

17:11:15	select * from user LIMIT 0, 1000	Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.	0.000 sec

我们没有指定默认的数据,也就是我们指定查询那个数据库中的user表

下载我么你指定,执行的方法和插入语句一样,

添加数据库名之后的语句:

select * from my_first_db.user

返回结果

'1', 'hq', '11111', '2018-12-12 12:12:12'
'2', '子龙', '222222', '2018-11-21 19:12:12'

插入成功,掌声

还有一种方法,我们比较懒,不想写 my_first_db,,我们可以执行默认数据库,方法是:Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar

下面我们操作一下:

双击数据库名字,变成生黑色,说明以及是默认数据库

下载试试没有写数据库名字的sql

select * from user

一样可以返回数据

`17:21:49 select * from user LIMIT 0, 1000 2 row(s) returned 0.000 sec / 0.000 sec``

如果我们想修改我的密码怎么办,使用update 语句

修改数据

SQL

我们想修改你的密码

update user set password = zlw1314 where id = 1

关键字update,user 是表名字,set 关键字,password表示需要修改的字段,等号后面是修改的值,where 关键字是表示我只修改 id字段为1的用户的密码,也就是你的密码。