写在最前
本文适用于已经安装MySQL的读者。如果未安装MySQL,请参考这篇文章:
MySQL系列(一):超详细、非常适合入门的MySQL安装、环境配置教程
请打开cmd(按住Win+R,输入“cmd”之后回车),一步步按照下面的命令,玩转MySQL基本功能。
实验开始
首先,执行下面两条语句中的任意一条。
mysql -h localhost -P 3306 -u root -p
mysql -u root -p
输入密码,你便成功登录进了MySQL。如果出现报错,99%是因为你的MySQL安装或者是环境变量配置出现了问题,请参照上面的链接,检查MySQL安装与环境变量的配置。
现在,你需要了解一个概念——数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。
请将下面的指令逐行输入到你的cmd中并按下回车,不要复制粘贴,请用键盘手敲。双斜杠和它之后的汉字内容不要输入,不要忘记语句之后的分号。SQL语言不区分大小写,因此你无需在意这一点。
show databases; //查看有哪些数据库
create database test; //服务器建立一个数据库
use test; //使用(进入)数据库test
show tables ; //查看数据库中有哪些表格
create table zz(
name varchar(20),
owner varchar(20),
species varchar(20),
sex char(1),
birth date,
death date); //数据库中建立一个表
describe zz; //查看数据表的数据结构
现在,你已经成功创建了一个名为zz的表格。下面我们尝试创建用户。同样地,不要输入斜杠与其之后的中文部分。
create user kirito identified by '123456'; //通过root用户创建一个用户
grant all privileges on test.* to kirito@'%'; //将数据库test的权限基于用户kirito
//授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
show grants for 'kirito'; //查看权限
接下来,我们继续创建几个表格。和刚刚的表格相比,这里的表格出现了主键与外键。
CREATE TABLE teacher(
tno varchar(8) PRIMARY KEY,
tname varchar(8) NOT NULL,
sex varchar(2),
birthday date,
dno varchar(6),
pno int(10),
home varchar(40),
zipcode char(6),
tel varchar(40),
email varchar(40));
CREATE TABLE teacher_course (
tcid int PRIMARY KEY,
tno varchar(8),
spno varchar(8),
classno varchar(4),
cno varchar(10) NOT NULL,
semester varchar(6),
schoolyear varchar(10),
classtime varchar(40),
classroom varchar(40),
weektime int,
foreign key(tno) references teacher(tno));
alter被用于修改表的结构,update被用于修改表的数据。alter是DDL的内容,update是DML的内容。显然,修改表格结构和修改表格内容是不一样的!我们首先试试修改表格结构。
alter table teacher modify column tel varchar(50);
alter table teacher rename to tr;
下面,我们尝试修改表格内容。
insert into teacher(tno,tname,sex,birthday,dno,pno,home,zipcode,tel) VALUES('20170101','张小小','男','20171001','信息院',888,'湖南大学','513648','18888888888');
select * from teacher;
update teacher set dno = '物理院' where dno is null;
DELETE FROM teacher WHERE dno = '物理院';
到这里,SQL基本语法已经尝试了一遍。你可以参考上面的SQL语句,创建更多的表格、添加更多的数据进来。