MYSQL 中常用的命令
> SQL命令主要是对数据的增删改查
(1)在交互模式下运行编译一行执行一行
(2)在脚本模式下先将SQL命令都存在脚本中 然后一次行的运行 mysql -uroot<拖拽脚本
(1)quit; 退出服务器链接
(2)show databases; 显示所有的数据库
(3)use xx; 进入指定的数据库里面
(4)show tables; 显示当前数据库下所有的表
(5)desc 表名称; 查看表头,描述表中有哪些列
常用的SQL命令
set names UTF8 #解决中文乱码
drop database if exists xx; #丢弃数据库 如果xx存在的话
create database xx chaarset=UTF8; #创建xx数据库
use xx; #进入数据库
create table emp(
sid INT,
sname VARCHAR(8),
sex VARCHAR(1),
score INT
);
#创建保存数据的表
insert into emp values('1','rose','w','90')` #插入一条数据
select * from emp; #查询emp的数据
update emp set sid='01' WHERE sid='1'; #修改一条数据
delete from emp WHERE sid='1'; #删除一条数据
列约束:
PRIMARY KEY #主键约束 不允许出现重复的值 一个表只能有一个逐渐约束;
NOT NULL #非空约束 列上不允许插入null;
UNIQUE #唯一约束 不允许出现重复的值 允许插入null;
default #默认值约束 ; DEFAULT XXX;
check #检查约束也可以理解自定义约束 check (score>=0 AND scor<=100);
foregin key #外键约束 和另一个表保持一直 foregin key (列) references 另一个表
auto_increment #自增列 自动增长编号的时候加NULL就可以了 必须添加在主键列 允许手动赋值
以下是简单的示例:
set names utf8;
drop database if exists tedu;
create database tedu charset=utf8;
use tedu;
create table dept(
did INT PRIMARY KEY AUTO_INCREMENT,
dname VARCHAR(8) UNIQUE
);
INSERT INTO dept VALUES("10",'研发部');
INSERT INTO dept VALUES("20",'市场部');
INSERT INTO dept VALUES("30",'运营部');
INSERT INTO dept VALUES("40",'测试部');
create table emp(
eid INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR(8),
sex BOOL DEFAULT 1,
bir DATE,
sal DECIMAL(7,2),
deptId INT,
foreign key (deptId) references dept(did)
);
INSERT INTO emp VALUES("NULL","JACK",DEFAULT,"1989-06-10",50000,30);
简单的查询:
SELECT eid,ename FROM emp; #查询特定的列
SELECT * FROM emp #查询所有的列
SELECT eid AS 编号,ename AS 姓名 from emp; #给列起别名
SELECT DISTINCT sex FORM emp; #显示不同的记录
SELECT sal*3 FROM emp; #查询时执行计算
SELECT * FROM dept ORDER BY did ASC;#查询did升序排列
SELECT * FROM dept ORDER BY did DESC;#查询did降序排列
SELECT * FROM emp WHERE eid="1";#查询emp中编号为1的
SELECT * FROM emp WHERE ename LIKE'_Jack'#模糊条件查询 查询带Jack的员工 %匹配任意字符 _匹配任意1个字符
SELECT * FROM emp LIMIT 0,5;
复杂的查询
SELECT COUNT(*) FROM emp; #查询emp的数量
SELECT COUNT(deptId) FROM emp; #查询编号列数量 同上↑
#聚合函数
SELECT SUM(sal) FROM emp WHERE=1;#查询总和
SELECT AVG(sal) FROM emp WHERE eid='1' AND eid='5';#查询平均
SELECT MIN(sal) FROM emp #查询最低
SELECT MAX(sal) FROM emp #查询最大
子查询`
SELECT did FROM dept WHERE dname="研发部"; #查询在dname中的did有哪些
SELECT * FROM emp WHERE deptId=10; #查询10号都有哪些
多表查询
SELECT ename,dname FROM emp,dept WHERE deptId=did; #查询所有员工姓名和部门名称
SELECT ename,dname FROM emp INNER JOIN dept ON deptId=did #内连接 和前面查询结果一样
SELECT ename,dname FROM emp LEFT OUTER JOIN dept ON deptId=did; #左外链接 显示左侧表所有
SELECT ename,dname FROM emp RIGHT OUTER JOIN dept ON deptId=did; #右外链接 显示右侧表中所有记录
以上就是个人总结的MYSQL常用语法以及查询方法,前端工作的小伙伴多多少少可以了解以下。😄