前言
MySQL 是一个真正的多线程、多用户的 SQL 数据库服务,凭借其高性能、高可靠和易于使用的特点,成为服务器领域中最受欢迎的开源数据库系统。掌握MySQL数据库的基本操作,这也是在运维服务中必须掌握的。
一、使用MySQL数据库
数据库 ----> 数据表 —> 行(记录):用来描述一个对象的息 数据库 ----> 数据表 —> 列(字段):用来描述对象的属性
1.常见的数据类型
int:整型 float:单精度浮点 4字节32位 double:双精度浮点 8字节64位 char:固定长度的字符类型 varchar:可变长度的字符类型 text:文本 image:图片 decimal(5,2):5个有效长度数字,小数点后面有2位
2.查看数据库结构
3.SQL语句
SQL 是 Structured Query Language 的缩写,即结构化查询语言
SQL 语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能
SQL 语言分类:
DDL(数据定义语言)用于建立数据库、数据库对象和定义其列
DML(数据操纵语言)用于查询、插入、删除和修改数据库中的数据
DQL(数据查询语言)用于从数据表中查找符合条件的数据记录
DCL(数据控制语言)用于控制数据库组件的存取许可、存取权限等
二、创建及删除库和表
1.创建新的数据库
CREATE DATABASE 数据库名; #指定数据库名称作为参数
#新创建后的数据库是空的,其中不包含任何表
#在 /usr/local/mysql/data 目录下会自动生成一个与新建的库名相同的文件夹
例:
CREATE DATABASE kobe bryant;
SHOW DATABASES;
2.创建新的表
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键
例:
create database Audi;
use Audi;
create table 3Q (id int not null,name char(10) not null,sex char(1),primary key (id));
#创建一个表,表名为CLASS
#字段1:id 不能为空值
#字段2:name 字符串长度为10字节,且不为空值
#字段3:sex 固定长度的字符串类型为1
#字段4:指定主键为id字段
3.删除指定的数据表
DROP TABLE 数据库名.表名;
#需要先通过执行"USE"语句切换到目标库
#如不用USE进入库中,则需加上数据库名,在知道的情况下这样操作
4.删除指定的数据库
DROP DATABASE 数据库名;
三、管理表中的数据记录
1.向数据表中插入新的数据记录
INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);
例:
create database school;
use school;
create table CLASS2 (id int not null,name char(20) not null,sex char(1) not null,primary key (id));
insert into CLASS2 (id,name,sex) values(1,'zhangsan','男');
2.查询数据记录
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
例:
select * from CLASS2;
select name,sex from CLASS2 where id=1;
select * from CLASS2 limit 2; #只显示头2行
select * from CLASS2 limit 2,3; #显示第2行后的前3行
3.修改、更新数据表中的数据记录
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
例:
insert into CLASS2 (id,name,sex) values(2,'lisi','女');
insert into CLASS2 (id,name,sex) values(3,'wangwu','男');
select * from CLASS2;
update CLASS2 set id=4 where name='zhangsan';
select * from CLASS2;
update CLASS2 set name='sicong',sex='男' where id=2;
select * from CLASS2;
4.在数据表中删除指定的数据记录
DELETE FROM 表名 [WHERE 条件表达式];
例:
delete from CLASS2 where id=4;
select * from CLASS2;
5.修改表名和表结构
1.修改表名
ALTER TABLE 旧表名 RENAME 新表名;
例:
alter table CLASS2 rename CLASS3;
show tables;
select * from CLASS3;
2.扩展表结构(增加字段)
ALTER TABLE 表名 ADD address varchar(50) default '地址不详';
#default ‘地址不详’:表示此字段设置默认值 地址不详;可与 NOT NULL 配合使用
例:
alter table CLASS3 add address varchar(50) default '地址不详';
3.修改字段(列)名,添加唯一键
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];
例:
alter table CLASS3 change name student_name varchar(20) unique key;
select * from CLASS3;
insert into CLASS3 (id,student_name,sex) values (1,'zhangsan','男');
select * from CLASS3;
insert into CLASS3 (id,student_name,sex) values (4,'zhangsan','男');
四.创建临时表
临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。
CREATE TEMPORARY TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
例:
CREATE TEMPORARY TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
例:
create temporary table test04 (id int not null,name varchar(20) not null,cardid varchar(18) not null unique key,primary key (id));
show tables;
insert into test04 values (1,'wangsi','444444');
select * from test04;
总结
这是数据库的基础操作,其中select查询是我们运维工程师必需掌握的,其他的了解即可。
|