学习 准备 尝试 谨慎小心

0%

MySQL 基础 SQL 操作

MySQL 用户

1
--登录
2
mysql -u<用户名> -p[密码] 
3
--修改密码
4
mysqladmin -u<用户名> -p[密码] password <new_password>

数据库

1
--显示所有的数据库
2
show databases;
3
4
--创建数据库,设置字符集utf-8,校对集 utf8_general_ci
5
create database db_name default character set utf8 collate utf8_general_ci;
6
7
--查看创建数据库的语句
8
show create database db_name;

备份和恢复

1
--导出数据库(注意:当前命令是在cmd命令行下执行)
2
mysqldump -u<用户名> -p[密码] db_name > filename
3
4
--恢复
5
--1.先创建一个数据库
6
create database db_name default character set utf8 collate utf8_general_ci;
7
--2.使用该数据库
8
use db_name;
9
--3.导入数据库数据
10
source filename;

表操作

1
--创建表
2
create table student(
3
	id int(11) primary key auto_increment,
4
	name varchar(50) unique not null,
5
	age int,
6
	sex tinyint(1) default 0 comment '0男1女'
7
) ENGINE=INNODB;
8
9
--查看创建表的原始语句
10
show create table table_name;
11
12
--查看表结构
13
desc table_name;
14
15
--查看所有表
16
show tables;
17
18
--删除表
19
drop table table_name;
20
21
--重命名表
22
alter table table_name rename new_table_name;

列操作

1
--添加列
2
alter table table_name add column column_name int not null;
3
4
--删除列
5
alter table table_name drop column column_name;
6
7
--修改列属性
8
alter table table_name modify column column_name float not null;
9
10
--修改列
11
alter table table_name change column column_name_1 column_name2 float default 0;

索引

1
--添加索引
2
alter table table_name add index ind_column_name(column_name);
3
create index ind_column_name on table_name(column_name);
4
5
--删除索引
6
alter table table_name drop index ind_column_name;
7
drop index ind_column_name on table_name(column_name);
8
9
--查看索引
10
show index from table_name;
11
12
-- PS1:索引是不可修改的,只能删除后再创建
13
-- PS2:对表记录的删除会造成索引的存储碎片,过多的存储碎片不仅占用存储空间,还会降低数据库运行速度。重建索引能够有效的进行“碎片整理”。
14
-- 查看索引存储碎片(当 Data_free 列值大于0时表示有碎片,值越大碎片越多)
15
show table status like 'table_name';

增删改查

1
--插入
2
insert into student(id, name, age, sex) values(1, '小明', 23, 0);
3
--批量插入
4
insert into student(id, name, age, sex) values
5
(NULL, '小强', 18, 0),
6
(NULL, '小华', 28, 1),
7
(NULL, '小张', 23, 1);
8
9
--删除
10
delete from student where id=1;
11
12
--更新
13
update student set age=24 where id=2;
14
15
--查询
16
select * from student;