新增信息(难度一颗星)
INSERT INTO 表格名字(参数列名称) VALUES(对应的数据);
修改
ALTER TABLE 表格名字 ALTER COLUMN 列名字 SET DEFAULT 3500;
# 或者使用 modify
ALTER TABLE tb_job MODIFY COLUMN jallowance FLOAT NOT NULL;
ALTER TABLE 表格名字 ADD 列名字 char(1) default 'M'
ALTER TABLE tb_book drop column desc1;
ALTER TABLE tb_student ADD CONSTRAINT FOREIGN KEY(classno) REFERENCES tb_class(classno);
SELECT查询
SELECT COUNT(*) as '总人数' from 表格名 WHERE语句
第四问一般是建立视图。
CREATE VIEW 名字 AS
SELECT 语句
视图别名可以放在VIEW命名中
CREAT VIEW sjava(sno,sname,grade) as SELECT ..... FROM ... WHERE
用户操作
CREATE USER'用户名'@'主机名 例如 localhost' IDENTIFIED BY'密码'
GRANT SELECT ON 表格名 TO '用户名'@'主机名' WITH GRANT OPTION;
请注意
GRANT 作用在整个服务器上:
grant select on *.* to dba@localhost;
作用在单个数据库上
on testdb.*
REVOKE INSERT ON 数据库.数据表 FROM 'user'@'localhost';
撤销所有权限用
REVOKE ALL PRIVILEGES ON ....
创建索引
ALTER TABLE 表名 ADD UNIQUE INDEX 索引名(列名)
ALTER TABLE tb_dept ADD INDEX idx_dept(deptname,desc)
排序默认升序 ASC 降序是DESC
更新
更新即修改内容,用UPDATE
UPDATE 表名 set smajor='计算机' WHERE 语句
UPDATE 不用加TABLE 但是ALTER需要。
新建表
CREATE TABLE 表名(列1 int primary key,列2 varchar(20) default null)
1 主键一般不告诉 自己写 用primary key不要拼错
2 如果是数字 一般带着 AUTO_INCREMENT
3 冷门 设置字符集 CHARACTER SET GB2312
删除行
使用delete
DELETE FROM 表名 WHERE语句
建立外键
很难记住
ALTER TABLE tb_gs
ADD CONSTRAINT fk_dept
FOREIGN KEY(sno)
REFERENCES tb_student(sno)
要全部背会。
主键约束类似
ALTER TABLE tb_pubs ADD CONSTRAINT pk13 PRIMARY KEY(pno);
唯一键约束
ALTER TABLE tb_group ADD CONSTRAINT gname UNIQUE(gname);
冷门-导入数据
LOAD DATA INFILE 'backup.txt' INTO TABLE tb_reader1;
使用CREATE INDEX建立索引
CREATE INDEX index_选课学号 on 选课(学号);
复杂查询语句
# having语句用于聚合函数筛选
# GROUP BY 用于分组
SELECT dname FROM tb_department,tb_employee
WHERE tb_department.dno=tb_employee.dno
GROUP BY dname
HAVING count(dname)>=3;
连接
SELECT .... FROM
tb_gs INNER JOIN tb_student ON tb_gs.sno=tb_student.sno
INNER JOIN tb_group ON tb_gs.gno=tb_group.gno
WHERE 语句