为方便查看,建议使用右侧目录

一、导入sql脚本

source

二、数据库操作

create 增
use 使用

三、数据表操作

  1. 表结构(DDL)

create 新建
drop 删
alter 增、改
desc 看

  1. 表内容(DML)

insert 增
delete 删
update 改
select 查

1 导入sql脚本 source

导入sql脚本必须要**进到具体数据库里,不然会报错!!!** mysql>use database_name;

mysql> source $绝对路径

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_数据库

2 操作数据库

2.1 创建数据库 create

> create database <数据库名>; eg:创建名为data_test 的数据库

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_MYSQL 数据库脚本编程_02

2.2 查看数据库 show

mysql> show database;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_数据库_03

2.3 选择/使用数据库 use

mysql>use database_name;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_MYSQL 数据库脚本编程_04

2.4 查看当前用的哪个数据库

select database();

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_mysql_05

3 操作数据表

3.1 创建数据表 create

mysql> create table table_name(字段 1 数据类型1, 字段 2 数据类型 2, ... col_name n data_type n );

说明:
table_name 数据表表名;
col_name 创建的字段名;
data_type 创建的字段的数据类型

例:mysql> create table table_test( name varchar(20) not null,id int(11) not null); 创建字段名为“name”,字段类型为“varchar 字符串型”,数据表约束为“no null 非空”,数据表名为“table_test”的数据表。

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_数据库_06

3.2 查看数据表结构 desc

mysql> desc table_test;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_mysql_07

3.3 查看数据表 show

查看数据库下的数据表有哪些?

mysql> show tables;

目前,date_test库里只有table_test这一个表

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_MYSQL 数据库脚本编程_08

4 操作数据表(结构)

create 新建
alter [增、改 (modify、change) ; 删 (drop) ]
desc 看

① 修改数据表名 rename

rename

mysql>alter table 旧数据表名 rename 新数据表名; 将原table_test 改名为t_test

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_mysql_09

② 查看表内数据 select *

select * from t_test;

目前是空的,需要insert新增

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_database_10

③ 添加字段:alter (add、first、after)

- 在末尾添加字段(最后一列)

MySQL 默认在表的最后位置添加新字段,语法格式如下:

alter table <表名> add <新字段名><数据类型>[约束条件];

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_数据库_11

- 在开头添加字段(第一列) first

使用 first 关键字,语法格式如下:

alter table <表名> add <新字段名> <数据类型> [约束条件] first; eg: 添加一个int类型,非空约束,且添加再第一列的字段,age

alter table t_test add age int(2) not null first;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_MYSQL 数据库脚本编程_12

- 在中间位置添加字段(中间列) after
使用 `AFTER` 关键字,	AFTER 的作用是在`已存在的指定字段名之后添加`,语法格式如下:		
`alter table <表名> add <新字段名> <数据类型> [约束条件] after <已经存在的字段名>;`

④ 修改字段:modify、change

字段类型
字段名
字段顺序

- 修改字段数据类型 modify

mysql> alter table table_name modify 字段名1 数据类型; eg:将age的数据类型,原int 改为 date 短日期类型
mysql > alter table t_test modify age date;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_database_13

- 修改字段的名称 change

格式如下:

mysql> alter table table_name change 旧字段名 新字段名 旧数据类型; eg:原字段名 sex 改为xingbie

mysql > alter table t_test change sex xingbie char(1);

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_数据库_14

- 修改字段的顺序 modify

格式如下:
mysql>alter table table_name modify 字段名1 数据类型 first|after 字段2;

first与after 字段2为可选参数
first :修改字段为表的第一个字段
after 字段名2 : 修改字段到表的指定列之后

eg:原id 排在第三列, 设置为第一列

mysql > alter table t_test modify id int(11) first;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_数据库_15

⑤ 删除表、表字段:drop

- 删除表中某个字段

格式如下:

mysql>>alter table [表名] drop [字段名]; eg:删除xingbie 列

mysql >alter table t_test drop xingbie;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_字段名_16

- 删除整张表

格式如下:

drop table [表名] 当表不存在时会报错

drop table if exists [表名] 如果存在就删除,不报提示

eg: 删除tab_test表

drop table tab_test;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_database_17

5 操作数据表(表内容)

插入数据 insert
删除数据 delete
修改数据 update

① 插入数据 insert into

格式如下:

insert into [表名] (字段名1,字段名2..) values (),(),();字段名要与指定的值、数据类型保持一致。即 id ,int类型,1;age,date短日期类型…

eg:插入lisi、wangwu、amily 及自己的日期、id号,

mysql> insert into t_test (id, age, name) values (1, ' 1909-10-01 ' , ' lisi'), (2,'1899-12-02' , ' wangwu'), (3, ' 2021-05-14' , ' amily' );

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_MYSQL 数据库脚本编程_18

② 删除数据有两种

- delete

表中数据被删除,但在硬盘上的真实存储空间不释放

  • 优点:可回滚
  • 缺点:慢
    格式:delete from [表名] [where id=3] [order by 或limit 等限制条件];
    注意:不使用where条件的时候,将删除所有数据!
● 根据条件删除表中数据

eg: 删除t_test表中,id为3的一行。
> delete from t_test where id =3;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_MYSQL 数据库脚本编程_19


id为3的数据已经被删除!

● 删除表中全部数据

> delete from t_test;

MYSQL 数据库脚本编程 mysql数据库脚本怎么使用_mysql_20


t_test 已经是空表!但是表结构还在!

- truncate

物理删除,表被一次截断,效率高!!! 高危操作! truncate前一定要再三确认。

  • 优点:快
  • 缺点:不支持回滚, 不支持删单条,只能删整张表

格式如下:
truncate table [表名] 或者 truncate [表名]

truncate与drop,delete的对比

truncate与drop是DDL语句,执行后无法回滚;delete是DML语句,可回滚。truncate会清空表中的所有行,但表结构及其约束、索引等保持不变;drop会删除表的结构及其所依赖的约束、索引等。truncate会重置表的自增值;delete不会。 truncate不会激活与表有关的删除触发器;delete可以。 truncate后会使表和索引所占用的空间会恢复到初始大小;delete操作不会减少表或索引所占用的空间,drop语句将表所占用的空间全释放掉。

总结:当不需要该表时,用 DROP;当仍要保留该表,但要删除所有记录时,用 TRUNCATE;当要删除部分记录时,用 DELETE。