MySQL常用操作语句小全

```

#查看MySQL版本,进入mySQL之前,mysql-vrsion,或者mysql-V,
#进入之后
SELECT VERSION();#差看当前使用数据库
CREATE DATABASE test01;
#终止SQL语句,\c;
#退出,exit,\q,Ctrl +C
SHOW DATABASES;
USE bjnode;
SELECT DATABASE();#查看当前使用数据库
SHOW TABLES;#查看当前数据库中的表
SHOW TABLES FROM 数据库名称;#查看其它数据库中的表
DESC 表名称;#查看表结构
SHOW CREATE TABLE 表名称;#查看表的创建询句
SELECT * FROM emp;
#ifnull(字段名,替换值)
SELECT ename,IFNULL(comm,0) FROM emp;
#select 语句总结
SELECT
xxxx
FROM
xxxx
WHERE
xxxx
GROUP BY
xxxx
HAVING
xxxx
ORDER BY
xxxx;
#连接查询
SELECT a.ename empname ,b.ename leadername 
FROM emp a 
INNER JOIN emp b ON a.mgr = b.empno;
SELECT
e.ename,d.dname,e.sal,s.grade
FROM
emp e
JOIN
dept d
ON
e.deptno = d.deptno
JOIN
salgrade s
ON
e.sal BETWEEN s.losal AND s.hisal;
DROP TABLE t_student;
#表的操作
0创建表
CREATE TABLE t_student(
NO INT(4),
NAME VARCHAR(12),
birth DATA,
sex chrt(1));
#删除表格
DROP TABLE t_student;
DROP TABLE IF EXISTS t_student;#MySQL特色
#向t_student表格中插入数据
INSERT INTO t_student(NO,NAME,sex,birth) VALUES(1,'zhangsan','m','1970-01-
01');
#向 t_student 表格中部分字段插入数据
INSERT INTO t_student(NO,NAME) VALUES(20,'wangwu');
#查看变量:
SHOW VARIABLES LIKE '%char%';
#创建表格时给字段设置默认值:default 默认值
CREATE TABLE t_student(
NO INT(4) NOT NULL UNIQUE,
NAME VARCHAR(12),
birth DATA,
sex chrt(1) DEFAULT 'M',
tel INT(14));
#复制表
CREATE TABLE emp1 AS SELECT * FROM emp;# 完全复制emp表到emp1
emp2:CREATE TABLE emp2 
AS SELECT ename,sal FROM emp;#选择性复制emp表到emp2
#增 / 删 / 改  表结构
#新增:ALTER TABLE 表名 ADD 字段名 字段类型(长度);
ALTER TABLE t_student ADD tel VARCHAR(10);
#修改:ALTER TABLE 表名 MODIFY 字段名 字段类型(长度);
ALTER TABLE t_student MODIFY tel VARCHAR(20);
#删除:ALTER TABLE 表名 DROP 字段名;
ALTER TABLE t_student DROP tel;
#添加 / 修改 / 删除 表数据
#DML数据操作诧句:insertupdatedelete;
#insert into 表名(字段名1,字段名2,…) values(值1,值2,…);
#插入日期
#插入的日期格式和MySQL默认日期格式一致
INSERT INTO t_student(NO,NAME,birth) VALUES(1,'Jack','1980-10-19');
#采用str_to_date
INSERT INTO t_student(NO,NAME,birth) VALUES(1,'Jack',STR_TO_DATE('1980-10-19','%Y-%m-%d'));
#添加系统日期(now())
INSERT INTO t_student(NO,NAME,birth) VALUES(1,'Jack',NOW());
#update 修改数据
#诧法格式:UPDATE 表名 SET 字段名 = 字段值,字段名 = 字段值 WHERE 条件;
UPDATE t_student SET NAME = 'lisi';
UPDATE emp_bak SET NAME='wangwu' WHERE email LIKE '%O%';
#delete 删除数据
#语法格式: DELETE FROM 表名 WHERE 条件限制;
#注意:若没有条件限制,会将表中所有记录全部删除;
DELETE FROM t_student WHERE NO = 3;
DELETE FROM t_student;#此表数据全部消失
#创建表加入约束
#唯一性约束(unique)
#非空约束(not null)
CREATE TABLE t_student(
NO INT(4) NOT NULL UNIQUE,
NAME VARCHAR(12),
birth DATA,
sex chrt(1) DEFAULT 'M',
tel INT(14)
);
#注意:”unique约束”约束的字段丌能重复,但是可以为NULL,NULL不是一个值,也不能用等号比较;
#使用表级约束给多个字段联合添加约束:
CREATE TABLE t_student(
NO INT(4) NOT NULL ,
NAME VARCHAR(12),
birth DATA,
sex chrt(1) DEFAULT 'M',
tel INT(14)
uniqueno,tel)
);
#表级约束还可以给约束起名字,原因:以后可通过名字操作这个约束
CREATE TABLE t_student(
NO INT(4) NOT NULL ,
NAME VARCHAR(12),
birth DATA,
sex chrt(1) DEFAULT 'M',
tel INT(14)
CONSTRAINT t_student_tel_unique UNIQUE(tel)
);
#主键约束PK(primary key)
CREATE TABLE t_student(
NO INT(4) PRIMARY KEY,#单一主键
NAME VARCHAR(12),
birth DATA,
sex chrt(1) DEFAULT 'M',
tel INT(14)
CONSTRAINT t_student_tel_unique UNIQUE(tel)
);
#【 复合主键】 是给多个字段联合添加一个主键约束;
DROP TABLE IF EXISTS t_user;
CREATE TABLE t_uesr(
id INT(10),
NAME VARCHAR(32),
email VARCHAR(128),
PRIMARY KEY(id,email)
);
#创建 t_user表:id,name,id为自增主键
CREATE TABLE t_uesr(
id INT(10) PRIMARY KEY AUTO_INCREMENT ,
NAME VARCHAR(32),
email VARCHAR(128)
);
#外键约束FK(foreign key), 简称:FK,涉及到的术诧:外键约束、外键字段、外键值
#被引用字段必须具有unique约束;
#-------------------------------#
#级联更新不级联删除
#定义:在删除父表数据的时候,级联删除子表中数据;
#a删除外键约束
#语法: ALTER TABLE 表名 DROP FOREIGN KEY 外键字段;
#b添加外键约束及级联删除功能
/*语法:ALTER TABLE 表名
ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段)
REFERENCES 引用表名(引用表中字段名称) ON DELETE CASCADE;*/
#第一步:删除t_student中的外键
ALTER TABLE t_student DROP FOREIGN KEY t_student_classno_fk;
#第二步:增加t_student_classno_fk外键,幵加入级联删除 on delete cascade;
ALTER TABLE t_student
ADD
   CONSTRAINT t_student_classno-fk FOREIGN KEY(classno)
   REFERENCES t_class(cno)
   ON DELETE CASCADE;
#第三步:删除t_class表中班级编号为200的信息,包括所在班级的学生信息
DELETE FROM t_class WHERE con =200; 
#级联更新—完整示例
#第一步:删除 t_student中的外键
ALTER TABLE t_student DROP FOREIGN KEY t_student_classno_fk;
第二步:增加t_student_classno_fk外键,幵加入级联更新 ON UPDATE CASCADE;
ALTER TABLE t_student
ADD
   CONSTRAINT t_student_classno-fk FOREIGN KEY(classno)
   REFERENCES t_class(cno)
   ON UPDATE CASCADE;
 #第三步:更新t_class表中班级编号200改为100,包括所在班级的学生信
 UPDATE t_class SET cno =100 WHERE cno =200;

“`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值