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会自动创建索引。
查看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;