MySql 基础使用(一)

参考网址http://c.biancheng.net/view/7143.html

1. 安装完成后,登录mysql.

//登录mysql
mysql -u root -p(mysql -u root -ppass,注意pass和-p参数无空格)
// 查看状态
status
//在管理员模式下启动mysql
net start mysql57(注意服务名称)
net stop mysql57

2. MySql配置文件

(windows)my.ini文件,一般情况下,my.ini 在 MySql 安装的根目录下,也有可能在隐藏文件夹“C:ProgramData”下面。http://c.biancheng.net/view/7571.html

(Linux)my.cnf文件,http://c.biancheng.net/view/7618.html

3. SQL概述

SQL 包含以下 4 部分:

1)数据定义语言(Data Definition Language,DDL)

用来创建或删除数据库以及表等对象,主要包含以下几种命令:

  • DROP:删除数据库和表等对象
  • CREATE:创建数据库和表等对象
  • ALTER:修改数据库和表等对象的结构

2)数据操作语言(Data Manipulation Language,DML)

用来变更表中的记录,主要包含以下几种命令:

  • SELECT:查询表中的数据
  • INSERT:向表中插入新数据
  • UPDATE:更新表中的数据
  • DELETE:删除表中的数据

3)数据查询语言(Data Query Language,DQL)

用来查询表中的记录,主要包含 SELECT 命令,来查询表中的数据。

4)数据控制语言(Data Control Language,DCL)

用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对数据库中的用户设定权限。主要包含以下几种命令:

  • GRANT:赋予用户操作权限
  • REVOKE:取消用户的操作权限
  • COMMIT:确认对数据库中的数据进行的变更
  • ROLLBACK:取消对数据库中的数据进行的变更

 4. 创建

(在mySQL中关键字不区分大小写)
//创建数据库
CREATE DATABASES test_db;
//使用 MySQL 命令行工具创建一个测试数据库,命名为 test_db_char,指定其默认字符集为 utf8,默认校对规则为 utf8_chinese_ci(简体中文,不区分大小写):
mysql> CREATE DATABASE IF NOT EXISTS test_db_char
       DEFAULT CHARACTER SET utf8
       DEFAULT COLLATE utf8_chinese_ci;
//创建后修改(同样可用于修改表)
mysql> alter database test_db
       default character set gb2312
       default collate gb2312_chinese_ci;
// 切换数据库
use test_db;
//创建表,支持utf8
CREATE TABLE students(
        student_id INT UNSIGNED,
        name VARCHAR(30) ,
        sex CHAR(1),
        birth DATE,
        PRIMARY KEY(student_id)
) character set = utf8;
//修改已有表,支持utf8
alter table students convert to character set utf8;
//显示数据库
SHOW DATABASES LIKE 'test_db';
// 使用‘%’通配符显示包含test的数据库
SHOW DATABASES LIKE '%test%';
// 删除表
drop databases if exists test_db;
//查看表
show tables;
//DESCRIBE/DESC 语句可以查看表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等。
desc students;
//SHOW CREATE TABLE语句可以用来显示创建表时的CREATE TABLE语句
show create table students;
//修改表名
alter table students rename to student;
//修改表字符集
alter table student character set gb2312 collate gb2312_chinese_ci;
//修改字段名称
alter table student change student_id id int(15) unsigned;
//修改字段数据类型
alter table student modify id int(20);
//删除字段
alter table student drop sex;
//添加字段,末尾、表头、中间位置。
alter table student add sex char(1);
alter table student add sex char(1) first;
alter table student add sex char(1) after id;
//关联表,自己试验的过程中,删除主表不会报错,暂未找到问题,mysql5.7.30
CONSTRAINT fk_emp4_emp5 FOREIGN KEY (deptId) REFERENCES tb_emp4(id)
//解除外键约束
ALTER TABLE tb_emp5 DROP FOREIGN KEY fk_emp4_emp5;
(关于约束的问题详看下一章)

5. 数据类型

1) 数值类型

    整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型包括 FLOAT 和 DOUBLE,定点数类型为 DECIMAL。

2) 日期/时间类型

    包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

3) 字符串类型

    包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。

4) 二进制类型

    包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。

6. 存储类型

    现在许多数据库管理系统都支持多种不同的存储引擎。MySQL 的核心就是存储引擎。MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。MySQL 5.7 支持的存储引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 等。可以使用SHOW ENGINES;语句查看系统所支持的引擎类型。

    如何选择MySQL存储引擎?http://c.biancheng.net/view/7185.html

//显示支持的引擎
show engines;
//显示默认搜索引擎
show variables like 'default_storage_engine%';
//修改默认搜索引擎
set default_storage_engine=MyISAM;
//显示数据表的当前搜索引擎
show create table students;
//修改数据表的搜索引擎
alter table students engine=MyISAM;
//以上这种方法适用于修改单个表的存储引擎,如果希望修改默认的存储引擎,就需要修改my.cnf(my.ini)配置文件。在 my.cnf (my.ini) 配置文件的 [mysqld] 后面加入:
default-storage-engine=存储引擎名称
原文地址:https://www.cnblogs.com/peony-jing/p/13370893.html