mysql的命令行使用总结

mysql笔记

这里我只要针对mysql的用法

1 命令行连接数据库

mysql -uroot -proot
这里-u和-p之后紧的都是数据库的用户名和密码

2 数据库的增删改查

2.1 数据库的创建

1 create database 数据库名;
2 create database 数据库名 character set 编码(eg:utf8);
3 create database 数据库名 character set utf8 collate utf8-bin;(校对规则)

2.2 数据库的查看

1 查看所有数据库
show databases;
2 查看指定
show create database 数据库名;

2.3 数据库的修改

alter database 数据库名 character set 字符

2.4 数据库的删除

drop database 数据库名

2.5 数据库的切换

select database();
查看当前数据库
use 数据库名;
切换到指定数据库下

3 table 的相关操作

3.1 创建表

create table 表名(列名 列的类型 约束);

列的类型
1 int
2 char
3 varchar
4 double
5 float
6 boolean
7 data(格式YYYY-MM-DD)
8 time(格式 hh:mm:ss)
9 datetime
10 timestamp
11 text
12 blob

其中char与varchar的区别在于,char的长度是固定的而varchar是不固定的。所以varchar比较节省资源


列的约束
1 主键约束  primary key
2 唯一约束  unique
3 非空约束  not null

3.2 查看表

1 查看所有
show tables
2 自定义查看表的创建过程
show create table 表名
3 查看表的结构
desc 表名

3.3 修改表

1 添加列
alter table 表名 add 列名 类型 约束
2 修改列类型
alter table 表名 modify 列名 类型
3 修改列名
alter table 表名 change 列名旧 列名新 类型
4 删除列
alter table 表名 drop 列名
5 修改表名
rename table 表名旧 to 表名新
6 修改字符集
alter table 表名 character set 字符集;

3.4 删除表

drop table 表名

4 数据操控

4.1 表中插入数据

insert into 表名(列名1,列名2···) values(值1,值2···);
如果是向所有列中插入数据的话(列名)可以省略


批量插入
inset into 表名 values(),(),(),·····


单条与批量插入的优缺点
1 单条易查错
2 批量效率高

4.2 删除数据

delete from 表名【where 条件】   //【】为可选内容


常遇见的问题
delete 和truncate 删除数据的区别
1 delete 是一条条删除数据
2 truncate是先将表删除再创建表

4.3 更新表中数据

update 表名 set 列名=列值 【where 条件】

4.4 查询表中数据

select 【distinct】【列名···】 from 表名 【where】

5 解决中文乱码的问题

  1. 暂停mysql服务
  2. 找到mysql文件的my.ini文件
  3. 改其编码为gbk
发布了33 篇原创文章 · 获赞 49 · 访问量 4449

猜你喜欢

转载自blog.csdn.net/qq_41086511/article/details/103537740