MySQL 基础 SQL 操作

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;
原文地址:https://www.cnblogs.com/lhat/p/12095449.html