目录
1.登陆MySQL
1.1 连接到本机上的MYSQL
1.2 连接到远程主机上的MYSQL
2.退出MYSQL命令
3.命令行操作数据库
创建数据库&表
创建数据表
删除数据表
4.表操作、记录增删改查
4.1 创建表 table1:关键字 create
4.2 查看表结构:describe、desc
4.3 插入数据:insert
4.4 查看表数据:select
4.5 修改数据: update
4.6 删除数据 delete
4.7 清空数据 :truncate
4.8 删除表
4.9.修改表名
5.字段操作
5.1增加字段 alter
5.2 修改字段类型 modify
5.3 修改字段名 change
5.4 指定添加字段的位置
5.5 删除字段 drop
6.常用的MySQL操作
6.1 显示MYSQL的版本
6.2 显示当前时间
6.3 显示年月日
6.4 显示字符串
6.5 当计算器用
6.6 查看当前使用的数据库
6.7 查看系统使用的编码格式
6.8 修改命令提示符
6.9 修改命令结束符
7.结构化查询语句分类
格式: mysql [–h服务器主机地址] -u 用户名 -p用户密码
首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
在DOS命令行窗口(cmd.exe)
(1 未配置环境变量:在窗口中进入 安装目录\mysql\bin
(2 配置环境变量:将路径目录mysql\bin加到path中
配置环境变量后,不需要进入bin目录输命令
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql –h 110.127.0.0.1 -u root -pabc123(注:u与root之间可以不用加空格,其它也一样)
mysql> exit (回车)
注意:语句都以英文分号(;)结尾
create database [if not exists] 数据库名;
drop database [if exists] 数据库名;
show数据库名称;
use数据库名称;
注意:创建数据库之前要先连接Mysql服务器
例:创建课程数据表(subject)并添加数据
使用SQLyog连接数据库
创建MySchool数据库
创建数据表(subject)
添加数据列
SujectNo(int(11),pk)
SujectName(varchar 50)
ClassHour(int(4))
GradeID(int(4))
1)创建数据库
2)查看所有数据库
3)创建表
进入Navicat 查看完成情况
4)查看当前数据库所有表
5)查看创建表结构
(PS:\g和;效果一样,\G格式化输出)
6)删除数据库
例如:建立一个名为MyClass的表
字段名 |
数字类型 |
数据宽度 |
是否为空 |
是否主键 |
自动增加 |
默认值 |
id |
int |
4 |
否 |
primary key |
auto_increment |
|
name |
char |
20 |
否 |
|
|
|
sex |
int |
4 |
否 |
|
|
0 |
degree |
double |
16 |
是 |
|
|
|
命令:drop table <表名>
DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!
创建数据库:mysql> create database test1;
选择数据库:如果不选择数据库,会报错
mysql> use test1;
primary key主键约束(主键不能为空),唯一确定一条记录,一张表只能有一个主键。
engine指定数据表的数据引擎,如:MyISAM、Archive等。
auto_increment自增长,自动从1、2、3开始增长,必须配合主键约束使用。
charset:指定编码格式 utf8
语法:INSERT INTO 表名 [(字段1,字段2,字段3,...)] VALUES ('值1','值2','值3',...)
注意:
第一种:省略字段名部分
第二种:例如只插入 name 字段
insert into table1 (name) values('Alice');
* 代表所有字段
语法:
UPDATE 表名 SET column_name = value [,column_name2=value2,...] [WHERE condition]
注意:
修改id=2的tom为jack
这里使用 where 关键字,表示修改匹配的记录,如果不加,会将表中所有的name 修改为jack;
jack为字符串,需要加引号,若修改id=2,gender为0
mysql> update table1 set gender=0 where id=2;
语法:
DELETE FROM 表名 [WHERE condition]
注意:condition 为筛选条件,如果不指定则删除该表的所有列数据
查看删除后的表数据:
如果此时再添加一行数据,思考id=1还是id=4?
答案是id=4,原因如下:
再插入一条数据,id=4
语法:TRUNCATE [table] 表名
TRUNCATE 命令:
用于完全清空表的数据,但表结构、索引、约束等不变
delete与truncate区别:
相同:
不同:
(11)删除数据库
命令:rename table 原表名 to 新表名;
例:将 table1名字改为 table2
当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。
如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。
当前数据为空。。。
增加一个年龄字段,关键字:alter
可能你会发现字段名、字段类型都是错误的,如何修改?
modify显然做不到,只能使用更加强大的 change:
指定位置除了使用after 字段(还有其他的first等)
MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?
没有修改过任何配置,会出现gbk,在以后可能会出现中文乱码,百度如何修改编码格式即可。
默认结束符是;,但是在后面操作(函数等)会使用到修改结束符。
推荐文章
MySQL DQL命令查询数据
MySQL 使用事务保证数据完整性
MySQL创建和使用索引