启动MySQL
- net start mysql
停止MySQL
- net stop mysql
登录MySQL
- mysql -h hostmane -u username -p password
其中MYSQL为登录命令,-h 后面的参数是服务器的主机地址
MySQL常用图形管理工具
- MySQL workbench
- phpMyAdmin
- Navicat
- MySQLDumper
- SQLyog(推荐)
数据库的基本操作
创建数据库
- 查看当前存在的数据库: show databases;
- 创建数据库: create database +[database_name];
- 查看创建好的数据库的定义:show create database +[database_name];
- 使用已经创建好的数据库:use +【databasename】
删除数据库
- 删除数据库:drop database + [database_name];
存储引擎
-
查看系统支持的引擎类型::show engines\G;
soppot列的值标识引擎是否能用,yes标识可以使用,no标识不可以使用,default表示引擎为当前默认存储引擎. -
查看默认引擎:show variables like ‘storage_engine’;
数据表的基本操作
创建数据表
- 指定数据库:use +【databasename】
- 创建表:
create table +<表名>(
字段名1,数据类型 [列级别约束条件][默认值],
字段名2,数据类型 [列级别约束条件][默认值],
……
[表级别约束条件]
);
- 使用CREATE TABLE创建表是,需要制定以下信息:
1 要创建表的名称,不区分大小写,不能使用SQL语言中的关键字,如DROP、ALERR、INSERT等。
2 数据表中的每一列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开。 - 创建表实例
create table tb_empl
(id INT(11),
name varchar(25),
deptid INt(11),
salary FLOAT
);
.
- 查看表:show tables;
主键约束:要求主键列得到数据唯一,并且不允许为空
1 单字段主键
create table tb_empl
(id INT(11)PRIMARY KEY,
name varchar(25),
deptid INt(11),
salary FLOAT
);
或定义完所有列之后指定主键
create table tb_empl
(id INT(11),
name varchar(25),
deptid INt(11),
salary FLOAT
PRIMARY KEY(id)
);
上述两个例子执行完之后结果是一样的,都会在id字段上设置主键约束。
2 多字段联合主键
create table tb_empl
(
name varchar(25),
deptid INt(11),
salary FLOAT
PRIMARY KEY(name,deptid)
);
3 使用外键约束
create table tb_empl
(id INT(11),
name varchar(25),
deptid INt(11),
salary FLOAT
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptid) REFERENCES tb_dept1(id)
);
4 使用唯一性约束
create table tb_empl
(id INT(11),
name varchar(25)UNIQUE,
location VARCHAR(22)
);
create table tb_empl
(id INT(11),
name varchar(25)UNIQUE,
location VARCHAR(22),
CONSTRAINT STH UNIQUE(name)
);
查看表基本语句:desc tablename
查看表详细结构语句:show create table +tablename;
也可以使用show create table +tablename \G;加上\G可使显示结果更加直观,易于查看。
修改数据表
修改表名:ALTER TABLE <旧表名> RENAME <新表名>
修改字段的数据类型:ALTER TABLE <表名> MODIFY <字段名> <数据类型>
修改字段名: ALTER TABLE <表名> CHANGE<旧字段名> <新字段名> <数据类型>;
修改字段:ALTER TABLE <表名> ADD <新字段名> <数据类型>[约束条件][FIRST][AFTER 已存在字段名];
删除字段:ALTER TABLE <表名> DROP<字段名>;
修改字段的排列位置:ALTER TABLE <表名> MODIFY <字段名1> <数据类型>[FIRST][AFTER ]<字段名2>;
更改标的存储引擎:ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;