Mysql命令
Created|Updated
|Word count:1.2k|Reading time:4min|Post View:
Mysql
基于前文没安装的可以差看我之前的文章
初始化
win端
1 2 3 4 5 6 7 8 9 10 11 12
| # --- 管理员命令行 ---- # 1. 启动mysql服务 net start mysql
# 2. 输入你的账号密码 mysql -uxxx -pxxxxx
# or
# --- 直接在文件目录开启 --- # 输入你的账号密码 mysql -uxxx -pxxxxx
|
linux端
1 2 3 4 5 6
| # 1. 进入顶层目录 / cd / # 2. 进入mysql目录 cd /etc/mysql # 3. 输入你的账号密码 mysql -uxxx -pxxxxx
|
启动与停止
1 2 3 4 5
| # 启动mysql服务 net start mysql
# 停止mysql服务 net start mysql
|
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
基本操作
注意 mysql 语法 后面必须跟着 ;
号
库操作
查看所有数据库
使用数据库
查看当前使用的数据库
创建数据库
1 2 3 4
| # 意为:创建 数据库 xxx 字符集为uf8格式; create database 数据库名 charset=utf8; # 例如: create database Mydb charset=utf8;
|
删除数据库
1 2 3
| drop 数据库名; # or drop table 数据库名;
|
表操作
表基本操作
查看当前数据库中的所有表
查看表结构
创建表
创建Mysql数据表需要有:表名
,表字段名
,定义每个表字段
。
1 2 3 4
| CREATE [TEMPORARY] TABLE [IF NOT EXISTS] [database_name] <table_name> ( <column_name> <data_type> [[not null]...] )
|
解注:
语法 |
释意 |
TEMPORARY |
创建临时表 |
IF NOT EXISTS |
如果要创建的表已经存在,强制不显示错误消息 |
database_name |
数据库名 |
table_name |
表面 |
column_name |
列名 |
data_type |
数据类型 |
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 创建一个名为 student 的表 create table students( # ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。 id int unsigned primary key auto_increment not null, # name列单个最大字符长度为20 默认为空 name varchar(20) default '', # age列为无符号整型 单个范围为(0,255) 默认为0 age tinyint unsigned default 0, # height列最多存储5位数字,小数位为2位。 范围为:(-999.99 , 999.99) height decimal(5,2), # gender列里面的字段只能为男或女,若新添加的一行不为这两个数据则报错 gender enum('男','女'), # 自己思考下面列意 cls_id int unsigned default 0 )
|
修改表 - 添加列
1 2 3
| alter table 表名 add 列名 类型; # 如: alter table student add birthday datetime;
|
修改表 - 列重命名
1 2 3
| alter table 表名 change 原名 新名 类型及约束; # 如: alter table student change birthday birth datetime not null;
|
修改表 - 列不重命名
1 2 3
| alter table 表名 modify 列名 类型与约束; # 如: alter table student modify birthday date not null;
|
修改表 - 删除列
1 2 3
| alter table 表名 drop 列名; # 如: alter table student drop birthday;
|
删除表
1 2 3
| drop table 表名; # 如: drop table student;
|
清空表中记录
查看表中记录
查看表的创建语句
1 2 3
| show create table 表名; # 如: show create table student;
|
增删改查e
查询
查看所有列
1 2 3
| select * from 表名; # 如: select * from student;
|
查询指定列
1 2 3
| select 列1,列2 form 表名; # 如: select id,name from student;
|
增加
语法格式: INSERT [INTO] tb_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...;
说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准
全列插入 - 值的顺序与表中字段的顺序对应
1 2 3
| insert into 表名 values(...) # 如: insert into student values(0,'小黑')
|
部分列插入 - 值的顺序与给出的列顺序对应
1 2 3
| insert into 表名(列1,...) values(值1,...) # 如: insert into student(name,hometown,birthday) values('小黑','深林','2010-9-1')
|
全列多行插入 - 值的顺序与给出的列顺序对应
1 2 3
| insert into 表名(列1,...) values(值1,...),(值1,...)...; # 如: insert into student(name) values('小黑'),('小兔'),('小龙');
|
修改
语法格式: UPDATE tbname SET col1={expr1|DEFAULT} [,col2={expr2|default}]...[where 条件判断]
1 2 3 4
| # UPDATE 更新修改 || set 获取想要修改的列更改对应的值 || where 设定查询条件 update 表名 set 列1=值1, 列2=值2... where 条件; # 如: update student set gender=0,hometown='南京' where id=5;
|
删除
语法格式: DELETE FROM tbname [where 条件判断]
基本删除
1 2 3
| delete from 表名 where 条件; # 如: delete from student where id=5;
|
逻辑删除
1
| update student set isdelete=1 where id=1;
|
数据类型
MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串
(字符)类型。
整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
浮点数类型:FLOAT、DOUBLE、DECIMAL
字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
日期类型:Date、DateTime、TimeStamp、Time、Year
其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等
点击可查看具体参考博文
菜鸟Mysql数据类型