MySQL基本语法

登录数据库
mysql -uroot -p

查看数据库
SHOW DATABASES;

进入test数据库
USE test;

查看数据库
SELECT DATABASE();

创建数据表tb1
CREATE TABLE tb1(
//(主键约束)自动编号,增长值为1 可以为1.00 必须与主键组合使用(记录的唯一性),一张数据表只能有一个主键
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY, //(唯一约束)UNIQUE KEY设置为唯一值,可以为null
age TINYINT UNSIGNED NULL //录入数据时允许为空
salary FLOAT(8,2) UNSIGNED NOT NULL //(非空约束)不能为空
sex ENUM(‘1’,‘2’,‘3’) DEFAULT ‘3’ //(默认约束)ENUM给三个选项,不输入数据则默认为3
);

查看存在的数据表
SHOW TABLES;

查看其它数据库的数据表
SHOW TABLES FROM mysql;

查看tb1数据表的列(数据表的结构)
SHOW COLUMNS FROM tb1;

向tb1数据表中插入数据
INSERT tb1 VALUES(“tom”,25,8212.25);//每条数据插入
INSERT tb1 (username,salary) VALUES(‘sabot’,8900.00);//选择数据插入

查看tb1数据表
SELECT * FROM tb1;

查看provinces数据表的储存引擎
SHOW CREATE TABLE provinces;

显示provinces表的索引
SHOW INDEXES FROM provinces;
SHOW INDEXES FROM provinces\G;//方便显示

CREATE TABLE provinces(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
pname VERCHAR(20) NOT NULL,
);

CREATE TABLE user(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL,
pid SMALLINT UNSIGNED,
//外键约束 pid是外键 参照provinces的(id)字段
FOREIGN KEY(pid) REFERENCES provinces(id) ON DELETE CASCADE//从父表删除或更新会自动删除更新子表中的匹配行
);
MySQL基本语法
外键列和参照列必须具有相似的数据类型。其中数字的长度和是否有符号位必须相同。而字符的长度可以不同。
外键列和参照列必须创建索引。如果外键列不存在索引,MySQL会自动创建索引。

查看users表的创建命令
SHOW CREATE TABLE users;

删除id=3的记录
DELETE FROM provinces WHERE id=3;

向user表中添加单行,默认最后一行
ALTER TABLE users ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;
添加单行在username后面(AFTER)
ALTER TABLE users ADD password VARCHAR(20) AFTER username;
添加单行在第一行(FIRST)
ALTER TABLE users ADD trueman VARCHAR(20) FIRST;

添加多行,只能在最后
ALTER TABLE users ADD(sex ENUM(‘1’,‘2’,‘3’) DEFAULT’2’,nameId TINYINT UNSIGNED NOT NULL);

删除nameId行
ALTER TABLE users DROP nameId;
删除多行
ALTER TABLE users DROP sex,DROP age;

添加行同时删除行
ALTER TABLE users ADD sex ENUM(‘1’,‘2’,‘3’) DEFAULT ‘1’,DROP truename;

添加主键(CONSTRAINT:设置主键名字 PRIMARY KEY设置主键)
ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);

添加唯一约束
ALTER TABLE users2 ADD UNIQUE KEY (username);

添加外键
ALTER TABLE users2 ADD FOREIGN KEY (pig) REFERENCES provinces(id);

添加/删除默认约束
ALTER TABLE users2 ALTER age SET DEFAULT 15;
ALTER TABLE users2 ALTER age DROP DEFAULT;

删除主键
ALTER TABLE users2 DROP PRIMARY KEY;

删除唯一约束(索引)
ALTER TABLE users2 DROP INDEX username;

删除外键约束(通过SHOW CREATE TABLE users2 可以查看外键约束名字)
ALTER TABLE users2 DROP FOREIGN KEY users2_ibfk_1;

修改列定义
将id列置于第一行
ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;
修改id列定义(大改小可能会数据丢失)
ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL;
修改列名称同时修改列定义和位置
ALTER TABLE users2 CHANGE pid p_id YINYINT UNSIGNED NOT NULL FIRST;

修改数据表名称
ALTER TABLE users2 RENAME users3;
同时修改多个
RENAME TABLE users3 TO users2,tb1 TO tb10;