启动Mysql:net start mysql
关闭Mysql:net stop mysql
命令行登录数据库
MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密 码即可登录。
使用指定用户名和密码登录当前计算机中的MySQL数据库:mysql -u 用户名 -p 密码
-h 指定IP 方式,进行 登录:mysql -h 主机IP -u 用户名 -p 密码
eg:
mysql -uroot -p123456
mysql -h127.0.0.1 -uroot -p123456
退出命令
exit 或者 quit
SQL通用语法
1) SQL语句可以单行 或者 多行书写,以分号 结尾 ; (Sqlyog中可以不用写分号)
2) 可以使用空格和缩进来增加语句的可读性。
3) MySql中使用SQL不区分大小写,一般关键字大写,数据库名 表名列名 小写。
4) 注释方式
注释语法 | 说明 |
--空格 | 单行注释 |
/**/ | 多行注释 |
# | MySql特有的单行注释 |
DDL操作数据库
创建数据库
命令 | 说明 |
create database 数据库名; | 创建指定名称的数据库。 |
create database 数据库名 character set 字符集; | 创建指定名称的数据库,并且指定字符集(一般都指定 utf-8) |
查看/选择数据库
命令 | 说明 |
use 数据库 | 切换数据库 |
select database(); | 查看当前正在使用的数据库 |
show databases; | 查看Mysql中 都有哪些数据库 |
show create database 数据库名; | 查看一个数据库的定义信息 |
修改数据库
命令 | 说明 |
alter database 数据库名 character set 字符集; | 数据库的字符集修改操作 |
删除数据库
命令 | 说明 |
drop database 数据库名 | 从MySql中永久的删除某个数据库 |
DDL 操作 数据表
MySql常见的数据类型:
1.int:整型
2.double:浮点型
3.varchar:字符串型
4.date:日期类型,只有年月日
创建表
语法:
CREATE TABLE 表名(
字段名称1 字段类型(长度),
字段名称2 字段类型 注意 最后一列不要加逗号
);
需求:
创建商品分类表
表名:category 表中字段: 分类ID :cid ,为整型 分类名称:cname,为字符串类型,指定长度20
SQL实现如下:
-- 切换到数据库
db1 USE db1;
-- 创建表
CREATE TABLE category(
cid INT,
cname VARCHAR(20)
);
创建测试表
表名: test1 表中字段: 测试ID : tid ,为整型 测试时间: tdate , 为年月日的日期类型
-- 创建测试表
CREATE TABLE test1(
tid INT,
tdate DATE
);
快速创建一个表结构相同的表(复制表结构) 语法格式:create table 新表明 like 旧表名
-- 创建一个表结构与 test1 相同的 test2表
CREATE TABLE test2 LIKE test1;
-- 查看表结构
DESC test2;
查看表
命令 | 说明 |
show tables; | 查看当前数据库中的所有表名 |
desc 表名 | 查看数据表的结构 |
-- 查看当前数据库中的所有表名
SHOW TABLES;
-- 显示当前数据表的结构
DESC category;
-- 查看创建表的SQL语句
SHOW CREATE TABLE category;
删除表
命令 | 说明 |
DROP TABLE 表名; | 删除表(从数据库中永久删除某一张表) |
DROP TABLE IF EXISTS 表名; | 判断表是否存在,存在的话就删除,不存在的话就执行删除 |
-- 直接删除 test1 表
DROP TABLE test1;
-- 先判断 再删除test2表
DROP TABLE IF EXISTS test2;
修改表
操作 | 语法格式 | 需求 | 实现结果 |
修改表名 | rename table 旧表名 to 新表名 | 将category表 改为 category1 | RENAME TABLE category TO category1; |
修改表的字符集 | alter table 表名 character set 字符集 | 将category表的字符集 修改为gbk | alter table category character set gbk; |
向表中添加列,关键词add | alert table 表名 add 字段名称 字段类型 | 为分类表添加一个新的字段为 分类描述 cdesc varchar(20) | ALTER TABLE category ADD cdesc VARCHAR(20); |
修改表中列的 数据类型或长度,关键字modify | alter table 表名 modify 字段名称 字段类型 | 对分类表的描述字段进行修改,类型varchar(50) | ALTER TABLE category MODIFY cdesc VARCHAR(50); |
修改列名称 , 关键字change | alter table 表名 change 旧列名 新列名 类型(长度); | 对分类表中的 desc字段进行更换, 更换为 description varchar(30) | ALTER TABLE category CHANGE cdesc description VARCHAR(30); |
)删除列 ,关键字DROP | alter table 表名 drop 列名; | 删除分类表中description这列 | ALTER TABLE category DROP description; |