MySQL语句操作总览

创建数据库

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL。

DDL 数据定义语言

-- DDL  database 数据库操作语句
-- 创建数据库
create database if not exists db3 default character set gbk ;
-- 创建表
CREATE TABLE if not exists `t_user`
-- 查看创建数据库信息
show create database study_sql 
-- 修改数据库,修改数据库默认的字符集:    
alter database 数据库名 default character set 字符集
-- 显示表的详细数据
desc table_name ;
--使用数据库
use d_name;
-- 直接删除数据库, 不提醒
drop database d_name 
-- 删除表
DROP TABLE IF EXISTS `student`
-- 显示数据库的所有表
show tables; 
-- 更改表名
rename table old_name to new_name
-- 增添字段
alter table 表名 add 字段 类型 其他
-- 添加索引
alter table 表名 add index 索引名 (字段名1[,字段名2]);
--加主关键字的索引(主键)
alter table 表名 add primary key (字段名);
-- 加唯一限制条件的索引
alter table 表名 add unique 索引名 (字段名);
-- 删除一个索引
alter table 表名 drop index 索引名;
--添加外键
ALTER  TABLE1   ADD  CONSTRAINT 外键名  FOREIGN  KEY(1中得到字段名)   REFERENCES2(2中的字段名) 
-- 删除外键
ALTER  TABLE  table_name  DROP   FOREIGN    KEY 外键名称
--查看索引
SHOW  INDEX  FROM  table_name

create table T_user (
	u_id int not null AUTO_INCREMENT comment '用户id', -- 非空,自增
	username varchar(24),
	`password` varchar(55),
	author text,
	c_time datetime default CURRENT_TIMESTAMP comment '更新日期', -- 设置默认值为当前时间,comment备注
	primary key(u_id), -- 主键
	index name_index (username), -- 创建普通索引
	unique key pass_index(password), -- 创建唯一索引
	FULLTEXT key au_index(author), -- 全文索引
	unique key(username,password) -- 组合索引
)ENGINE=INNODB DEFAULT CHARSET = utf8 comment '用户表'

DML数据操纵语言

--增
insert into tbale_name(filed1,filed2) values(filed1,filed2)
--批量增
insert into tbale_name(filed1,filed2) values
(filed1,filed2),(filed1,filed2),(filed1,filed2)(filed1,filed2)
--删
delete from table_name
--批量删除
DELETE t1, t2, ..., tn FROM t1, t2, ..., tn 
--改
update table_name set t_name = 'hhui' 
--批量修改
UPDATE t_table
        SET u_id = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4
            WHEN 3 THEN 5
            ELSE 6
        END
WHERE id IN (1,2,3)
UPDATE t1, t2, ..., tn set t1.field1=expr1, t2.field2=expr2, ..., tn.fieldn=exprn 
--查
select * from table_name

表关联操作(CRUD关联)

关联更新、关联删除、关联查询、关联插入

--关联更新(用于通过另一张表(可以是临时表或者中间表)的字段更新本表字段)
UPDATE sc a left join user b ON a.sid = b.sid set a.pre = b.pre
--关联删除
--从两个表中找出相同记录的数据并把两个表中的数据都删除掉
DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25
-- 从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉
DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL
-- 从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉,代码如下
DELETE t1 FROM t1,t2 WHERE t1.id=t2.id
--关联插入(将B表数据插入A表)
insert into course(Cname,cid) SELECT Cname,cid from  course
-- 关联查询(这个都会就不做解释了)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值