MySQL 用户
--登录
mysql -u<用户名> -p[密码]
--修改密码
mysqladmin -u<用户名> -p[密码] password <new_password>
数据库
--显示所有的数据库
show databases;
--创建数据库,设置字符集utf-8,校对集 utf8_general_ci
create database db_name default character set utf8 collate utf8_general_ci;
--查看创建数据库的语句
show create database db_name;
备份和恢复
--导出数据库(注意:当前命令是在cmd命令行下执行)
mysqldump -u<用户名> -p[密码] db_name > filename
--恢复
--1.先创建一个数据库
create database db_name default character set utf8 collate utf8_general_ci;
--2.使用该数据库
use db_name;
--3.导入数据库数据
source filename;
表操作
--创建表
create table student(
id int(11) primary key auto_increment,
name varchar(50) unique not null,
age int,
sex tinyint(1) default 0 comment '0男1女'
) ENGINE=INNODB;
--查看创建表的原始语句
show create table table_name;
--查看表结构
desc table_name;
--查看所有表
show tables;
--删除表
drop table table_name;
--重命名表
alter table table_name rename new_table_name;
列操作
--添加列
alter table table_name add column column_name int not null;
--删除列
alter table table_name drop column column_name;
--修改列属性
alter table table_name modify column column_name float not null;
--修改列
alter table table_name change column column_name_1 column_name2 float default 0;
索引
--添加索引
alter table table_name add index ind_column_name(column_name);
create index ind_column_name on table_name(column_name);
--删除索引
alter table table_name drop index ind_column_name;
drop index ind_column_name on table_name(column_name);
--查看索引
show index from table_name;
-- PS1:索引是不可修改的,只能删除后再创建
-- PS2:对表记录的删除会造成索引的存储碎片,过多的存储碎片不仅占用存储空间,还会降低数据库运行速度。重建索引能够有效的进行“碎片整理”。
-- 查看索引存储碎片(当 Data_free 列值大于0时表示有碎片,值越大碎片越多)
show table status like 'table_name';
增删改查
--插入
insert into student(id, name, age, sex) values(1, '小明', 23, 0);
--批量插入
insert into student(id, name, age, sex) values
(NULL, '小强', 18, 0),
(NULL, '小华', 28, 1),
(NULL, '小张', 23, 1);
--删除
delete from student where id=1;
--更新
update student set age=24 where id=2;
--查询
select * from student;