SQL的分类:
- DDL数据库定义语言,用来维护数据存储的结构。
代表指令:create
,drop
,alter
。 - DML数据操纵语言,用来对数据进行操作
代表指令:insert
,delete
,update
。- DML中⼜单独分了一个DQL,数据查询语言,代表指令:
select
。
- DML中⼜单独分了一个DQL,数据查询语言,代表指令:
- DCL数据控制语言,主要负责权限管理和事务
代表指令:grant
,revoke
,commit
。
1.操纵数据库
- 当我们打开MySQL后,第一件事一定是看一下我们都创建了哪些数据库。当然,如果你记住了你所要操作的数据库的名字,那么这一步可以省略。
查看数据库:show database;
- 当我们需要创建一个新的数据库时:(db_name是你创建数据库的名字)
创建数据库:create database db_name;
create database helloworld;
- 创建好数据库之后,只有先使用(use)它,才能在这个数据库里面创建表。
使用数据库:use db_name;
use helloworld;
-
数据库里面一定存的是表,表里面才是我们真正写的内容。(table_name是你创建的表的名字)
创建数据库表:
create table table_name;
create table student( //创建了一个表,名字叫student
id int, //属性在前,类型在后。
name varchar(32),
gender varchar(2)
);
-
接着开始再表里面写内容:
在表中插入数据:根据属性一一对应插入的值。
insert into student (id, name, gender) values (1, '张三', '男');
insert into student (id, name, gender) values (2, '李四', '女');
insert into student (id, name, gender) values (3, '王五', '男');
- 最后,我们检查一下我们创建的表中的数据
查询表中数据:select * from student;
这样,一个简单的数据库就建好了!
7. 删除数据库:drop database [if exists] db_name;
执行删除之后的结果:
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,⾥面的数据表全部被删
注意:不要随意删除数据库
2.创建数据库案例
创建名为 db1 的数据库:create database db1;
说明:当我们创建数据库没有指定字符集和校验规则时,系统使⽤用默认字符集:utf8,校验规则
是:utf8_ general_ ci
创建一个使用utf8字符集的 db2 数据库:create database db2 charset=utf8;
创建一个使用utf字符集,并带校验规则的 db3 数据库:
create database db3 charset=utf8 collate utf8_general_ci;
3.字符集和校验规则
3.1 查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
3.2 查看数据库支持的字符集
show charset;
字符集主要是控制用什么语言。比如utf8就可以使用中文。
3.3 查看数据库⽀支持的字符集校验规则
show collation;
3.4 校验规则对数据库的影响
- 不区分大小写:校验规则使⽤utf8_ general_ ci
create database test1 collate utf8_general_ci;
use test1;
create table person(name varchar(20));
insert into person values('a'); insert into person values('A'); insert into person values('b'); insert into person values('B');
-
结果查询:不区分大小写
-
结果排序:不区分大小写
2. 区分⼤小写:校验规则使用utf8_ bin
create database test2 collate utf8_bin;
use test2
create table person(name varchar(20));
insert into person values('a'); insert into person values('A'); insert into person values('b'); insert into person values('B');
-
结果查询:区分大小写
-
结果排序:区分大小写
3.修改数据库
alter database db_name;
对数据库的修改主要指的是修改数据库的字符集,校验规则
实例: 将 mytest 数据库字符集改成 gbk