乱码情况
如果用select选择表中数据时,出现了乱码情况。那么,是因为客户端(命令行)是GBK的(可以通过右击命令行查看属性,看到GBK),然后此时我们写入表中的是utf8格式的。
需要告诉服务器,客户端是GBK编码。
mysql > set names gbk;
此时,再进行select语句就行了。
在命令行中,打错了,又换了回车。
就用,“\c”来退出执行。
增删改查,是针对表来说的。
建一张下图中的表
表名就用class表示吧。于是用下面的语句,建成表的结构。
此时查看数据库中的表,就会发现有一个命名为class的表已经生成了。
查看表的结构
desc class;
增
增加一个数据,也就只是增加一行。(如果增加一列,就要改变表结构了。)
增加一行,可能增加上面五列的值,也可能只增加四列的值(比如公司不填)。
- 往哪一张表添加行?
class - 你要添加哪几列?
id,sname,gender,company,salary,fanbu - 分别添加什么值?
(1,'张三','男','百度',8888.67,834)
列与值,一定要一一对应!
再比如,用“刀锋”同学,只记录姓名,性别,薪水。那么就只往其中对应的列插入即可。
上例中,虽然id没有赋值,但是id是自增型,所以自己增长了,值为2.
回头再看,插入所有列
可以把所有列名都给省了,不打。insert以后直接values。
一种常见的错误
认为id是自增型的,不需要再赋值。
如图,默认插入所有列,但是插入的值少了一列,不对应。所以出错。
改 updata
需要问四个问题:
- 改哪张表?
- 改哪几列?
该多列时,在列与列中间用逗号连接。 - 分别改成什么值?
- 在哪一行上生效?(这一点很重要很重要,不然可能会影响整张表)
where 后面是判断语句,若用'where 1'语句,会发现所有列都被改了。
**注意,这里的逗号‘,’是用来隔开多个值的,最后一个值(比如‘千度’这里就不能再加逗号了)。否则会
删除
删除就是,只删除整行。
不存在删除某一行的某一个数值(因为就是改的操作了)
- 1、删除哪张表上的数据?
- 2、删除哪几行?
用where 语句。
就是这样。
需要注意的是,如果是delete后面不加where语句,那么就会删掉所有行。
查
- 1、查哪张表的数据?
- 2、查哪些列?
- 3、查哪一行?
这里,* 代表所有列,并且在表名后面不加where 条件,则选择所有行。
因此,取出所有行,所有列。
部分列,所有行
部分列,部分行
这是最基本的增删改查,针对单个表来说。
后面还要学什么?
如何自己建表,如何修改表,多表联查,子查询,触发器,事务,备份与恢复等等。
网友评论