在MySQL数据库中,对于一个MySQL示例,是能够包含多个数据库的。java
在链接MySQL后,咱们能够经过 show databases; 来进行查看有那么数据库。这里已经存在一些库了,其中information_schema、auth、mysql、performance_schema这几个库时是MySQL内置的(不一样版本略有差别)。mysql
那如何新建本身的数据库呢?使用CREATE DATABASE 数据库名; 便可。sql
CREATE DATABASE 数据库名;
这里咱们已经成功建立了mysql_xuexi这个数据库了,而后咱们再次show databases; 查询,就能够看到mysql_xuexi已经在列表了。数据库
在建完这个库后,我以为取得名字很差,想改为mysql_study,由于尚未任何表在里面,因此我想删了重建(若是有表存在,修改数据库名仍是有些复杂的,因此取名这件事生下来仍是要慎重对待)。学习
删除数据库使用DROP DATABASE 数据库名;语句、3d
DROP DATABASE 数据库名;
固然删库是一个危险的动做,为了不删库跑路,删库前务必作两件事,一确认本身没有发烧,二确认本身的确认是对的。这里个人库刚建的,因此确认无误了。code
而后建立了mysql_study数据库,那咱们如今想使用这个库,该怎么作?orm
咱们须要先切换到该库下,使用USE 数据库名称;语句。blog
USE 数据库名称;
切换到对应库后,咱们可使用SHOW TABLES;来查看库中的表。由于刚刚建立的,仍是热乎的,因此里面什么也没有。io
那咱们快来建立第一个表吧,使用CREATE TABLE 语句,固然还须要定义表的列属性等。
CREATE TABLE 表名 ( 列名1 数据类型 [列的属性], 列名2 数据类型 [列的属性], ... 列名n 数据类型 [列的属性] );
例如咱们建立最简单的user表,包含int类型的id,和varchar(5)的name列。
CREATE TABLE user ( id INT, name VARCHAR(5) );
对于建立的表,咱们可使用如下命令查看具体细节。
DESC 表名; DESCRIBE 表名; EXPLAIN 表名; SHOW COLUMNS FROM 表名; SHOW FIELDS FROM 表名;
对于数据库的名字,修改不方便, 那表呢?更改表名仍是比较容易的,使用ALTER TABLE 表名 RENAME TO 新的表名;便可
ALTER TABLE 表名 RENAME TO 新的表名;
这样就将表名改成了user_info。那若是要删除表呢?使用DROP TABLE 表名;
DROP TABLE 表名;
删完了我又默默将user表建立回来了,由于还要继续使用呢。
若是咱们想在user表中增长列属性,如何操做?
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [列的属性];
新增age列。
若是要修改列,可使用下面的语句,MODIFY只支持改列的属性,而CHANGE支持修改列名称和列属性。
# 修改列属性 ALTER TABLE 表名 MODIFY 列名 新数据类型 [新属性]; # 修改列名称 ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型 [新属性];
好比age,我想改为user_age,且长度只想定义为2位。
要删除列,既然有ADD、MODIFY、CHANGE,那就应该有DROP,没错。
ALTER TABLE 表名 DROP 列名;
有了表,也会操做基本的列,但咱们平时说的增删改查,没有数据怎么叫增删改查,因此咱们须要来点儿数据。
使用INSERT插入数据,在不指定列的时候,按列的顺序插入,并且必须是列的值必须包含全量的列,而声明列则自由的多
INSERT INTO 表名 VALUES(列1的值,列2的值, ...); INSERT INTO 表名(列1, 列2, ...) VALUES(列1的值,列2的值, ...);
例如在user表插入数据。
INSERT INTO user VALUES(1,'zs'); INSERT INTO user(id,name) VALUES(2,'ls'); INSERT INTO user(name,id) VALUES('ww',3);
至于查询,相信你已经看到了,使用SELECT语句,SELECT * FROM 表名;是最基本的查询,*表示查看全部的列属性,查询通常须要配合WHERE等条件筛选,操做较复杂,后面会继续深刻。
SELECT 列1, 列2, ... FROM 表名 [WHERE条件];
修改数据,咱们使用UPDATE语句。更新的本质是修改那些符合条件的数据,也即先查询出对应数据,而后再对其作更改。因此通常查询也是须要结合WHERE语句的,不带WHERE的语句会将表中的数据所有更改,这个平常中必定要注意。
UPDATE 表名 SET 列1=列的新值1, 列2=列的新值2, ... [WHERE 条件]
至于删除,使用DELETE语句,该语句同样是个危险语句,注意千万要带上WHERE,除非你是真的要删除全部数据,或者一时脑子发烧了。
DELETE FROM 表名 [WHERE 条件];
至此,MySQL的基本使用就差很少OK了,固然还有些复杂的语句,咱们将在后续继续学习。