mysql常用命令
mysql中的常用概念:
数据库系统中有多个数据库,多个仓库
database---->数据库
数据库里面存放数据表: table
表中用于存储数据(记录):
记录: record-->实体
字段: field--->字段
- 数据库操作 (增删改查); sql
1.1 创建数据库
语法: create database 数据库的名
[字符集设置];
create database 数据库的名
charset=utf8;
备注:
1. 如果没有设置字符集, 使用的是配置中的默认字符集
配置文件: mysql的安装目录/my.ini
在mysql中字符集 utf8 (没有-);
2. 标准的情况, 所有的库名,表名,列名 都应该加上反引号.
反引号的作用: 当我们的 库名,表名,列名 是关键字\保留字, 都必须使用反引号引起来, 去除它本身特殊含义
例子:
create database test1;
create database test2 charset=gbk;
create database `create`;
1.2 查看数据库
a. 查看一个数据库的建库语句
show create database `数据库的名`;
b. 查看数据库
语法: show databases [like '_/%'];
show databases; //查看所有数据库;
_: 代表任意字符出现一次
%: 代表仍意字符出现仍意次数
例子:
show databases like '%2';//以2结尾
show databases like '%es%';//包含es
1.3 删除数据库
语法: drop database 数据库名;
1.4 修改数据库选项
语法: alter database 数据库名 字符集设置;
alter database test2 charset=utf8;
1.5 补充两个语法 了解
if exists , 表示如果存在, 删除一个 库, 表 时候使用
drop database if exists test2;
if not exists, 表示如果不存在, 创建库, 表 的时候 使用
create database if not exists 数据库名;
- 数据表(table)操作
2.1 创建表
语法:
create table [if not exists] 表名
(
字段的定义
) [表引擎选择] [表的字符集选择];
例子:
创建一个student表
create table student(
username varchar(10),
sex varchar(1),
age int
);
备注:
1. 每个字段 必须定义类型, 强类型
2. 创建表的时候需要指定数据库, 在哪个数据库中创建
方法:
a, 表名前面加上库名 , 数据库名.表名
create table itsource.student(
username varchar(10),
sex varchar(1),
age int
);
b. 使用 use 数据库名; ===> 代表切换到指定数据库中
直接创建表,代表就是在当前库中创建
use itsource;
create table student1(
username varchar(10),
sex varchar(1),
age int
);
3. 字符集设置
如果没有设置, 使用默认配置文件中对库的配置的字符集.
create table 表名(字段定义) charset=utf8;
例子:
create table student2(
username varchar(10),
sex varchar(1),
age int
) charset=gbk;
4. 表引擎设置
如果没有设置, 默认为配置文件决定, INNODB
语法:
create table 表名(字段定义) engine=innodb/myisam;
常见的引擎:
innodb: 安全性高,支持高级功能(事务,外键,恢复性强);
myisam: 查询速度快, 安全性低, 不支持高级功能
例子:
create table student3(
username varchar(10),
sex varchar(1),
age int
) engine=myisam;
create table student4(
username varchar(10),
sex varchar(1),
age int
) engine=innodb;
数据存储的目录, 在配置文件中指定:datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
.frm 结构存储文件
.myd 数据存储文件
.myi 索引存储文件
2.2 查看表
a. 查看建表的语句
show create table 表名;
show create table student;
b. 查看表, 有哪些表
语法:
show tables [like '%/_'];
例子:
show tables;
show tables like "%2";
c. 查看表的字段(结构)
describe 表名;
desc 表名;
# 了解
查看一个表的字段的完整属性
show full fields from 表名;
例子:
desc student;
describe student;
show full fields from student;
2.3 修改表
a. 修改表名
语法: rename table oldname to newname;
例子:
rename table student3 to student4;
b. 修改表的选项 (引擎, 字符集)
语法: alter table 表名 [引擎设置] [字符集设置];
例子:
alter table student4 engine=innodb charset=gbk;
c. 修改字段的定义
1. 添加一个字段
alter table 表名 add [column] 字段名 字段属性 [first/after 位置];
alter table student4 add height int after sex;
2. 删除一个字段
alter table 表名 drop [column] 字段名;
alter table student4 drop height;
3. 修改某个字段
只修改属性
alter table 表名 modify [column] 字段名 新属性;
alter table student4 modify age varchar(20);
同时修改字段名和属性
alter table 表名 change [column] 旧字段名 新字段名 新属性;
alter table student4 change age newage int;
4 技巧 了解 百度
? alter table
2.4 删除表
语法:
drop table 表名;
例子:
drop table student4;
- 记录的操作 (重点中的重点)
use 数据库名;
3.1 添加记录
语法:
insert into 数据库名.表名 (字段1,字段2…) values(值1,值2…);
如果所有字段都添加值,可以不写字段列表,但是所有的值必须写完:
insert into 数据库名.表名 values(值1,值2....);
掌握: 一次性条件多条记录
insert into 数据库名.表名 (字段1,字段2....) values(值1,值2....),(值1,值2....),(值1,值2....);
备注:
1. 字符集问题, 客户端编码问题
解决方式: 发送sql:
set names gbk;====>告知服务器我这边客户端的编码是gbk, 自己转成utf8;
例子:
添加学生
insert into student4 (username,sex,newage) values("张飞","男",280);
insert into student4 (username) values("关羽");
insert into student4 values("刘备","男",280);
一次条件多条记录
insert into student4(username,sex,newage) values ("小乔","女",15),("大乔","女",16);
3.2 查看记录--->使用最多
a. 查看所有的数据
select * from 表名;
b. 条件查询
select * from 表名 where 条件语句;
例如:
select * from student4 where sex="男";
select * from student4 where newage>20 and newage<290;
3.3 修改记录
语法:
update 表名 set 字段名1=值,字段名2=值 where 条件语句;
备注:
1. 更新的时候一定要加条件,如果没有就是更新所有数据
update student4 set newage=18 where username="大乔";
3.4 删除记录
语法:
delete from 表名 where 条件语句;
备注:
1. 删除的时候,一定要添加条件,如果没有条件就删除所有的数据
delete from student4 where username="刘备";
3.5 备份和恢复 了解
备份:
在mysql安装目录下的bin目录中有个命令工具: mysqldump.exe 导出数据的命令工具
mysqldump.exe -h主机 -P端口 -u用户 -p密码 数据库名 > 文件路径/文件名.sql
路径\mysqldump.exe -h127.0.0.1 -P3306 -uroot -proot itsource > D:/itsource.sql
恢复:
使用sql命令, 连接和认证成功
source 文件路径/文件名.sql;