终于正式开始学习SQL语言啦!!!(喜大普奔)
DDL之数据库操作
1.查询:
show databases
这条语句可以查询到已有的数据库(注意是databases而不是database,不要漏了s)
在安装好mysql之后就会有这4条。
那如果我对某个数据库操作了很多遍,或者好久没用了,忘记了我现在在使用哪个数据库怎么办呢?
select database()
这条语句就能很方便的知道我现在在使用哪个数据库了,就像这样。
2.创建
create database ***
这里的***可以替换成任何数据库的名称,注意一下命名规范。
显示如图就说明创建完成了。
那么如果有很多数据库,想要创建一个新的数据库时不清楚是不是已经存在对应的数据库要怎么办呢?下面这条语句可以防止创建重复的数据库。
create database if not exists ***
执行结果如下:
不仅如此,我们在创建的时候还可以指定数据库所使用的字符集:
create database if not exists *** default charset utf8mb4
其中default charset语句是在定义数据库所使用的字符集,而utf8mb4则是字符集规则。
创建结果如下:
3.删除
drop database ***
这样就可以删除一个数据库了,同样的也可以防止删除不存在的数据库。
drop database if exists ***
注意执行一条语句是要加英文;的!
4.使用
use ***
非常简单的使用语句,能在不同数据库中切换。
DDL之表创建与查询
现在我们开始对数据库中的内容进行操作,前面提到过MySQL是二维表组成的关系型数据库,所以对表的操作也是至关重要的。
1.查询
show tables
这条语句可以查询一个数据库下的所有表,但需要注意的是,你必须先use某个数据库之后才能查到表,这个也很好理解。比如你去超市买水果,不可能在没有进入超市的情况下就能买到你想要的水果,要先进入超市才能看到水果的种类水果的价格。
比如这是sys数据库下的一部分表格。
那么对于表格内的结构要怎么查询呢?
desc ***
由于系统内的表格可能过于复杂并且不容易一下子看清楚,博主建议看完下面表创建的内容后再回来看这一部分。
比如在数据库itcast中存在一张命名为tb_user的表格,通过desc指令就可以查询表格的结构了。
而还有一个语句可以查询创建表时所用的语句:
show create table ***
以博主写的tb_user为例:
有没有看到一些很熟悉的东西呢?比如说DEFAULT CHARSET?
这里的engine指的是存储引擎,但目前还不会接触该引擎的原理,collect指的是排序方式,和default charset一样一般是默认的。
2.创建
数据库中表的创建是相对较难的部分,但是对于有编程基础的同学来说就比较轻松。
我们可以从常见的excel表来演示表该怎么创建。
id | name | age | gender |
1 | 张三 | 22 | 男 |
2 | 李四 | 23 | 女 |
3 | 王五 | 24 | 男 |
假如我们要创建这样一张表格,不难发现这个表格有4个字段,分别是id,name,age,gender。
那么我们创建的表中就要包含这四个字段。
create table ***(
字段1 字段1类型 comment 注释,
字段2 字段2类型 comment 注释,
……,
字段n 字段n类型 comment 注释
) comment 注释;
其中***代表表名,在最后一个字段后没有英文逗号! 在括号内的注释是对各个字段的注释,而在括号外的注释是对表的注释。
像上面所列出的表格就应该这么编写。