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 ifexists 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 sexchar(1) first;

alter table student add sexchar(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=存储引擎名称

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐