官网:https://www.mysql.com/
添加配置信息
先cd,进入用户主目录
vim .bash_profile
添加:export PATH=$PATH:/usr/local/mysql/bin
连接到Mysql服务器
mysql -u root -p
更改MySQL密码
mysqladmin -u用户名 -p旧密码 password 新密码
基础指令
QUIT //退出
SHOW DATABASES; //查看所有的数据库
CREATE DATABASE xx; //创建数据库,xx为要删除的数据库名称
DROP DATABASE xx; //删除数据库,xx为要删除的数据库名称
SHOW CREATE database xx; //查看数据库的定义
USE xx; //切换数据库,xx为要切换到的数据库名称
SHOW ENGINES; //查看数据库使用的引擎
SELECT DATABASE(); //查看当前数据库
SELECT USER(); //查看当前用户
表基础操作
CREATE TABLE xx(key value,…); //创建表,key value对应,xx为创建的表名
(1)设置主键:PRIMARY KEY
两种方式:ID INT(20) PRIMARY KEY
、ID INT(11),PRIMARY KEY(ID)
事例
CREATE TABLE tab_student(
ID VARCHAR(20) PRIMARY KEY,
Score INT,
Gender CHAR
);
设置ID为主键
CREATE TABLE tab_student(
ID VARCHAR(20) ,
Score INT,
Gender CHAR
PRIMARY KEY(ID)
);
设置ID为主键
多字段联合主键:PRIMARY KEY(ID,NAME)
;ID和NAME为联合的主键,实为一个主键。
(2)设置字段自动增加:AUTO_INCREMENT
创建方式:ID INT PRIMARY KEY AUTO_INCREMENT
, 将ID设置为整数类型主键,并且设置字段值⾃动增加
CREATE TABLE tab_emp4(
ID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(20),
Score INT
);
设置id为主键,并且设置字段自动增加
赋值方式一:INSERT INTO tab_emp4(id,name,score) values(null,'张三',100)
。可以直接赋nul根据最大的值自加
赋值方式二:INSERT INTO tab_emp4(id,name,score) values(200,’张三',100)
。直接赋id
(3)设置外键约束:FOREIGN KEY 约束名字(当前表内键的名称) + REFERENCES 依附的主表名称(依附主表键的名称)
一般创建方式:
CREATE TABLE tab_emp5(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp FOREIGN KEY(deptId) REFERENCES tab_emp4(ID)
);
设置外键,deptID关联于tab_emp4的(ID),fk_emp外键别名
(4)约束某字段不能为空:NOT NULL
一般创建方式
CREATE TABLE tab_emp6(
ID INT NOT NULL,
Name VARCHAR(20),
Score INT
);
设置id字段不能为NULL
(5)设置唯一约束(插入在这个字段上的值唯一,不能重复):UNIQUE
• 可以为NULL
一般创建方式
CREATE TABLE tab_emp7(
ID INT UNIQUE
);
设置唯一约束
表基本指令
SHOW TABLES; //查看当前数据库所有表
DESCRIBE xx; //查看当前数据库中的表xx
SELECT *FROM xx //查询对应表xx中的信息
SELECT ID,NAME FROM xx; //列出表中ID,NAME的数据
SELECT * FROM xx WHERE key=value; //查询表xx中对应的key,value。并列出这一行所有数据
SELECT NAME FROM xx WHERE key=value; //查询表xx中对应的key,value。只列出NAME数据
INSERT INTO xx(key,…)values(value,…); //插入数据,xx为表名
DROP TABLE xx; //删除表
ALTER TABLE xx RENAME new_xx; //修改表名,xx为旧名字,new_xx修改后新名字
ALTER TABLE xx MODIFY KEY type; //修改字段数据类型,xx为表名,key为你要修改的字段名,type修改后的类型。
ALTER TABLE xx CHANGE name newname type;//修改字段名,xx为所属表名,name为旧字段名,newname为新字段名。type为数据类型
ALTER TABLE xx ADD key type; //添加字段,xx为表名,key你要添加的字段名,type数据类型
//添加时可以使用FIRST关键字,添加在开头:ALTER TABLE xx ADD key type FIRST;
//添加时可以使用AFTER关键字,添加在什么之后: ALTER TABLE xx ADD key INT(11) AFTER ID;//添加在ID字段后面
ALTER TABLE xx DROP key; //删除某一个字段,xx为表名,key你要删除的字段名
ALTER TABLE xx DROP FOREIGN KEY fk_emp; //删除外键约束,xx为表名,fk_emp,外键别名
UPDATE xx SET Score=1000 WHERE id=5; //更新数据,xx为表名,score为要修改的字段,后面为数据,修改的是id为5的
DELETE FROM xx WHERE id =3; //删除数据,xx为表名,删除id为三的数据
//修改字段相对位置,这里name1为想要修改的字段,type1为该字段原来类型,
//first和after二选一,这应该显而易见,first放在第一位,after放在name2字段后面
ALTER TABLE xx MODIFY name1 type1 first|after name2;
//给原先键增加属性,xx为表名,key为键名,type为类型,
//后面跟上你想要添加的约束以空格隔开,ADD后面追加属性。
ALTER TABLE xx MODIFY COLUMN key type 约束...,ADD 添加的属性,例如设置为主键,或者外键;
如果自增主键,顺序对应乱。
1、删除原有主键:
ALTER TABLE tab_name DROP ID;
//ID为原先主键
2、添加字段
ALTER TABLE tab_name ADD ID INT(11) NOT NULL FIRST;
//添加一个名字为ID的键
3、设置为新的主键
ALTER TABLE tab_name MODIFY COLUMN ID INT(11) NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(ID);
//ADD添加附件属性