简介
MySQL是关系型数据库,可以理解为“表格”的概念;一个关系型数据库由一个或多个表格组成。一张表格中,一般包括表头(header),内容(value),列一般是具有相同数据类型的数据集合,行一般描述某个物品的具体属性信息,键(key)一般是指表中能够唯一标识某物品的属性,在当前列中具有唯一性,比如学生的学号,两个不同的学生不存在相同学号,那么学号就可以成为键值。
使用MySQL数据库
接下来直接学习如何使用mysql完成一些操作。
1. 登录到mysql
mysql -h 主机名 -u 用户名 -p
-h用来指定主机名,如果是本机可以省略。
-u用来指定要登录的用户名。
-p表示需要使用密码来登录,输入该命令之后会要求你输入密码。
使用 mysqladmin 方式重置新密码:
打开命令提示符界面, 执行命令: mysqladmin -u root -p password 新密码
2. 创建一个数据库
create database learndatabase character set gbk;
创建一个名为learndatabase的数据库;在创建时通过charactor set gbk将数据库字符编码指定为gbk,方便中文显示。
3. 显示数据库列表
show databases;
4. 选择某个要操作的数据库
a.如果已经登录数据库,可以
use learndatabase;
b.如果还没有登录数据库,可以直接
mysql -D learndatabase -u root -p
5. 显示当前选中的数据库
select database(); //第一种用法
status; //第二种用法
6. 创建数据库表
使用create table语句完成对表的创建。create table 表名称 (列声明定义);
有点类似与C++里面的结构体定义,但是这里用的是小括号。
第一列id,int unsigned表明数据类型为无符号整型,not null表示该列内容不允许为空,auto_increament表示若为NULL则自动填充唯一值,primary key表示该列是表的主键,值具有唯一性,mysql将自动索引该列。其他列类似。
7. 显示当前数据库已有表
show tables;
8. 操作数据库表-增删查改
1)向表中插入数据
insert into 表名 [(列名1,列名2,...)] values(列值1,列值2,...)
其中[]内的内容是可选的,如
insert into student values(NULL, "张三", "男", "18", "12345678901");
insert into student values(NULL, "李四", "女", "17", "12345678901");
insert into student values(NULL, "王五", "男", "21", "12345678901");
insert into student values(NULL, "麻六", "女", "23", "12345678901");
insert into student values(NULL, "杜七", "男", "15", "12345678901");
insert into student values(NULL, "陆八", "女", "18", "12345678901");
insert into student values(NULL, "曹九", "男", "25", "12345678901");
insert into student values(NULL, "毛十", "女", "13", "12345678901");
表示直接向表中插入一行数据。
2)查询表中的数据
select 列名称 from 表名称 [查询条件];
[]的内容是可选的,如
select name, age from student; //查询student表中的name和age两列
select * from student; //查询student表中的所有内容
select * from student where sex="男"; //查询student表中sex为男的内容
select * from student where age<20 and id < 5;
操作结果如下:
基于条件的查询还有多种操作,有兴趣可以深入了解。
3)更新表中的数据
update 表名称 set 列名称=新值 [where 更新条件];如
update student set age=age-1; //将所有学生年龄都减1
update student set tel=default where id=5; // 将id为5的学生tel置为默认值
update student set name="曹操" where name="曹九"
4)删除表中的数据
delete语句用于删除表中的数据,基本用法为:
delete from 表名称 where 删除条件; 如以下示例
delete from student where name="毛十"; // 删除id为2的行
delete from student where age<20; // 删除年龄小于20的行
delete from student; // 删除整张表
对应操作结果:
9. 对表结构的操作-添加删除成员等
1)添加列
alter table 表名 add 列名 列数据类型 [after 插入位置];
示例:
alter table student add address char(60);
alter table student add birthday after age;
2)删除列
alter table 表名 drop 列名;
示例:
alter table student drop birthday;
3)修改列名
alter table 表名 change 列名 新列名 新数据类型;
示例:
alter table student change tel telephone char(13) default "-";
4) 修改表名
alter table 表名 rename 新表名;
示例:
alter table student rename students;
5)删除整张表
drop table 表名;
示例:
drop table students;
6)删除整个数据库
drop database students;
2022.08.11新增
- 查看表的列属性:show columns from 表名; 或者 desc 表名;