目录
一.MySQL数据库基本操作
1.SQL分类
(1)数据库:database
(2)表:table,行:row 列:column
(3)索引:index
(4)视图:view
(5)存储过程:procedure
(6)存储函数:function
(7)触发器:trigger
(8)事件调度器:event scheduler,任务计划
(9)用户:user
(10)权限:privilege
2.SQL语句分类
3.查看帮助信息
4.查看、修改字符集
二.管理MySQL数据库
1.查看数据库结构
(1)查看当前服务器中的数据库
(2)查看数据库中包含的表
(3)查看表的结构
2.数据类型
3.创建、删除数据库和表
(1)创建新的数据库
(2)删除指定的数据库
(3)创建新的表
(4)删除指定的数据表
4.管理表中的数据记录
(1)向数据表中插入新的数据记录(insert into)
(2)查询数据表内数据记录(select)
(3)修改、更新数据表中的数据记录(update)
(4)在数据表中删除指定的数据记录
5.修改表明和表结构(alter table)
(1)修改表名(rename)
(2)扩展表结构,增加字段(add)
(3)修改字段名,添加唯一键(change)
(4)删除字段(drop)
6.查看、修改字符集(show)
(1)查看MySQL支持所有的字符集
(2)查看数据库字符集
(3)查看数据表字符集
(4)修改数据库字符集
一.MySQL数据库基本操作
1.SQL分类
(1)数据库:database
(2)表:table,行:row 列:column
(3)索引:index
(4)视图:view
(5)存储过程:procedure
(6)存储函数:function
(7)触发器:trigger
(8)事件调度器:event scheduler,任务计划
(9)用户:user
(10)权限:privilege
2.SQL语句分类
SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。
SQL语句分类:
语句 | 代表的意思 |
---|---|
DDL | 数据定义语言,用于创建数据库对象,如库、表、索引等 |
DML | 数据操纵语言,用于对表中的数据进行管理 |
DQL | 数据查询语言,用于从数据表中查找符合条件的数据记录 |
DCL | 数据控制语言,用于设置或者更改数据库用户或角色权限 |
3.查看帮助信息
#help后面跟上具体命令可以查看帮助
例如:mysql> help create
4.查看、修改字符集
1. #查看支持字符集
show charset;
默认拉丁文字,需要修改为utf8 | UTF-8 Unicode
#阉割版的utf8mb4 | UTF-8 Unicode
#真实的版本2. #修改字符集
vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4
二.管理MySQL数据库
1.查看数据库结构
(1)查看当前服务器中的数据库
show databases; #大小写不区分,分号“;”表示结束
(2)查看数据库中包含的表
方法一:在库中查看表
use mysql; #use 数据库名
show tables; #查看表法二 :在库外查看表
show tables from mysql; #show tables from 数据库名
(3)查看表的结构
use 数据库名;
describe [数据库名.]表名;
可缩写成:desc 表名;
2.数据类型
类型 | 说明 |
int | 整型,用于定义整数类型的数据 |
fload | 单精度浮点4字节32位,准确表示到小数点后六位 |
double | 双精度浮点8字节64位 |
char | 固定长度的字符类型,用于定义字符类型数据。 |
varchar | 可变长度的字符类型 |
text | 文本 |
image | 图片 |
decimal(5,2) | 5个有效长度数字,小数点后面有2位。指定长度数组 |
3.创建、删除数据库和表
(1)创建新的数据库
#建立数据库
create database 数据库名;#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;
后文有详细操作及其演示
(2)删除指定的数据库
drop database 数据库名;
(3)创建新的表
use 数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。例如:
use kk;
create table students (id smallint unsigned primary key auto_increment, name varchar(10), age tinyint unsigned,gender enum('M','F') default 'M' );#unsigned:取消负数
primary key:主键
auto_increment: 自增长
enum('M','F'):多选
default 'M':默认值为 M
(4)删除指定的数据表
方法一:库内删除
use 数据库名;
drop table 数据表名;方法二:库外删除
#如不用USE进入库中,则需加上数据库名
drop table 数据库名.数据表名;
4.管理表中的数据记录
(1)向数据表中插入新的数据记录(insert into)
insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...);例如:
insert into students(id,name,age,passwd) values(2,'lisi',20,'112233' );
insert into students(id,name,age,passwd) values(2,'jiami',22,PASSWORD('123456'));
#PASSWORD('112233'):查询数据记录时,密码字串以加密形式显示;若不使用PASSWORD(),查询时以明文显示
select * from students;提前新建数据表(注意长度设置)
use mysql;
create table students (id smallint unsigned primary key auto_increment, name varchar(10),age tinyint unsigned, passwd varchar(48));
此处添加数据为中文,注意字符集(默认为拉丁文)是否更改为utf8和utf8mb4
如果/etc/my.cnf没有更改,建立数据库时要指定字符集utf8mb4:
create database 数据库名 charset=utf8mb4;
(2)查询数据表内数据记录(select)
select 字段名1,字段名2[,...] from 表名 [where 条件表达式];基本操作:
1. #查询全部数据
select * from 数据表名;
例如:
select * from students;2. #查询指定数据
例如:
select id,name from students where id=2;
更多操作:
3. #以列表方式竖向显示
select * from 数据表名\G;
例如:
select * from students\G;4. #只显示头2行
select * from 数据表名 limit 2;
例如:
select * from students limit 2;5. #显示第3行后的2行
select * from 数据表名 limit 3,2;
例如:
select * from students limit 3,2;
(3)修改、更新数据表中的数据记录(update)
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];例如:
update students set age=19 where id=4;
update students set age=20,passwd='666666' where id=2; #同时修改age和passwd
(4)在数据表中删除指定的数据记录
delete from 表名 [where 条件表达式];例如:
delete from students where id=2;!!!!注意id并不会顶上去!!!!
5.修改表明和表结构(alter table)
(1)修改表名(rename)
alter table 旧表名 rename 新表名;例如:
alter table students rename xuesheng;
(2)扩展表结构,增加字段(add)
alter table 表名 add 字段;例如:
alter table xuesheng add address varchar(50) default 'wait get';
#default 'wait get':表示此字段设置默认值 wait get;可与 NOT NULL 配合使用
(3)修改字段名,添加唯一键(change)
alter table 表名 change 旧列名 新列名 数据类型 [unique key];例如:
alter table xuesheng change name user_name char(30) unique key;
#CHANGE可修改字段名、数据类型、约束等所有项。
验证:
insert into xuesheng values(6,li,23,234567,NANKING);
失败,因为设置了唯一键,li不能重复,改成lu即可
insert into xuesheng values(6,lu,23,234567,NANKING);
(4)删除字段(drop)
alter table 表名 drop 字段名;例如:
#删除表中passwd字段
alter table xuesheng drop passwd;
6.查看、修改字符集(show)
(1)查看MySQL支持所有的字符集
show charset;
(2)查看数据库字符集
show create database 数据库名\G例如:
#查看mysql数据库中mysql库的字符集
show create database mysql\G
(3)查看数据表字符集
show table status from 库名 like '表名';例如:
#查看zhuzi数据库中students表的字符集
show table status from zhuzi like 'students';
(4)修改数据库字符集
#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;#若数据库已建立,修改字符集
alter database 数据库名 character set 字符集;
例如:
alter database mysql character set utf8mb4;