大概在一周前看了燕十八老师讲解的mysql数据库视频,也跟着学了一周,我就想把我这一周所学的知识跟大家分享一下;因为是第一次写博客,所以可能会写的很烂,请大家多多包涵。文章中有不对的地方还请大家指出来,我会加以改正。
我们先来学习对数据库进行连接并且对表进行最基本的增删改查:
先来进行对数据库服务器的连接和登录:
在命令行键入:mysql -uroot -p
然后输入密码,如果忘记密码的话也可以进行下面的操作:
开始学习对库进行基本的操作的语句:
首先就是要查看我们的客户端有哪些库:show databases;
然后新建一个库:create database 库名;
删除一个库:drop database 库名;
选择一个库:use 库名;
然后再强调一下数据库是不能改名的,至于我们看到有些客户端貌似可以改,其实那只不过是它先新建了一个跟原来的表结构一样的库,然后把旧的库给删掉。
对库的操作完了下来就是对表的操作:
我们先选择一个库,然后查看它里面的表:
然后我们可以建立一张简单的新表(例如学籍表):
create table stu(
Snum int,
Sname varchar(10)
)engine myisam charset utf8;
因为是刚开始学,所以不用纠结表到底是怎么建成的,我们再后面会讲到,现在就先了解对表的基本操作就行。
查看表中的数据:select * from stu;
我们可以看到刚建成的表没有任何数据,这是当然的,因为我们没有给里面插入数据嘛,要是数据反倒奇怪了。
接下来我们给里面插入数据:
insert into stu
values
(1,'zhangsan'),
(2,'lisi'),
(3,'wangwu');
然后我们来看看表中的数据:
清空表中的数据:
truncate table stu;
当然也可以用delete,但是Truncate 和 delete 有区别:
Truncate 相当于把表删除后新建一张同样结构的表,而delete是从删除所有数据的层面来操作的
通俗一点就是truncate是把旧的学籍表扔了重新画一张,是一张新表;
Delete相当于用橡皮把表中的数据擦除掉,表还是原来那张表
如果决定把表中数据全清空的话,truncate速度更快
更改表名:rename table 旧表名 to 新表名;
可以看到更改表名的表跟原来的表除了名字以外没有任何区别。
删除表:drop table 表名;
*大家在查询数据那块如果出现乱码,可能是客户端(GBK)与服务器(utf8)的字符集不匹配造成的,我们需要告诉服务器客户端使用的是什么编码类型。使用set names gbk;即可解决。关于乱码问题我们也会在后面详细讲到。