MYSQL基本操作语句
0、修改密码:mysqladmin -u root -p password 123456
导出数据库:mysqldump -u root -p yunpay>yunpay.sql
导入数据库:mysql –u root -p yunpay < yunpay.sql
1、为mysql增加一个名为admin,主机名任意的网络用户,其通过密码'123'访问数据库,这个用户拥有对数据库的所有操作权限(ALL PRIVILEGES)
CREATE USER 'admin'@'%' IDENTIFIED BY '123';GRANT ALL PRIVILEGES ON * . * TO 'admin'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; |
2、删除该用户
DROP USER 'wbhuang'@'%'; |
3、创建数据库
CREATE DATABASE school;USE school;SHOW TABLES; |
4、删除、创建数据表
删除数据表时,有如下语法
DROP TABLE <表名> [RESTRICT | CASCADE]; |
当选择RESTRICT:则该表的删除是有限制条件的。欲删除的基本表不能被其他表的约束所引用(如CHECK,FOREIGN KEY等约束),不能有视图,触发器,存储过程和函数,否则不能删除。如果选择CASCADE:则删除基本表的同事,相关的依赖对象,例如视图,都将被一起删除。下面语句的"SET FOREGIN_KEY_CHECKS = 0;"为取消CHECKS依赖。可见MYSQL默认的删除表方式为RESTRICT(受约束的)。
SET FOREIGN_KEY_CHECKS = 0;DROP TABLE IF EXISTS Student;DROP TABLE IF EXISTS Course;DROP TABLE IF EXISTS SC;CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); CREATE TABLE Course (Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4),/*先修课*/ Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/ );CREATE TABLE SC (Sno CHAR(9), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno) ); |
5、修改数据表
ALTER TABLE Student DROP COLUMN Sentry;ALTER TABLE Student ADD Sentrance DATE;ALTER TABLE Student CHANGE Sentrance Sentry DATE;/*为Student增加"入学时间"列*/ALTER TABLE Student MODIFY COLUMN Sage INT;/*将年龄的数据类型由字符型改为整形*/ALTER TABLE Course ADD UNIQUE(Cname);/*增加课程名称必须取唯一值的约束条件*/ |
6、删除、创建索引表
DROP INDEX Stusno ON Student;DROP INDEX Coucno ON Course;DROP INDEX SCno ON SC;CREATE UNIQUE INDEX Stusno ON Student(Sno);/*按课程号升序建唯一索引*/CREATE UNIQUE INDEX Coucno ON Course(Cno);/*SC表按学号升序和课程号降序建唯一索引*/CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);<br>SELECT * FROM INDEX Stusno; |
7、插入数据
INSERT INTO Student (Sno,Sname,Ssex,Sage,Sdept,Sentry) VALUES('20071025','wbhuang','male',23,'math','2007-09-01');INSERT INTO Student (Sno,Sname,Ssex,Sage,Sdept,Sentry) VALUES('20071026','dkluo','male',24,'math','2007-09-01');INSERT INTO Student (Sno,Sname,Ssex,Sage,Sdept,Sentry) VALUES('20071005','hlyang','male',24,'math','2007-09-01');INSERT INTO Student (Sno,Sname,Ssex,Sage,Sdept,Sentry) VALUES('20071007','ljhu','male',24,'math','2007-09-01');INSERT INTO Student (Sno,Sname,Ssex,Sage,Sdept,Sentry) VALUES('20071024','yluo','male',24,'math','2007-09-01'); |
INSERT INTO Course (Cno,Cname,Cpno,Ccredit) VALUES('100','Chinese','100',4);INSERT INTO Course (Cno,Cname,Cpno,Ccredit) VALUES('101','English','100',3);INSERT INTO Course (Cno,Cname,Cpno,Ccredit) VALUES('102','Science','100',2);INSERT INTO Course (Cno,Cname,Cpno,Ccredit) VALUES('103','Math','100',5); |
8、修改、删除数据
UPDATE `school`.`student` SET `Sname` = 'wbhuang',`Sdept` = 'xinji' WHERE `student`.`Sno` = '20071025';DELETE FROM Student WHERE Sno='20071025'; |
9、普通查询和聚集函数
SELECT Sno,Sname,Ssex FROM Student WHERE Sno='20071004';SELECT COUNT(DISTINCT Sname) FROM Student;SELECT AVG(Sage) FROM Student;SELECT Cno FROM Student ORDER BY Sage DESC;ORDER BY <列名|,列名> [ASC | DESC]; ASC升序,DESC降序COUNT([DISTINCT | ALL] * ) 统计元素个数COUNT([DISTINCT | ALL] <列名> ) 统计一列中元素个数SUM([DISTINCT | ALL] <列名> ) 计算一列值的总和(数值型)AVG([DISTINCT | ALL] <列名> ) 计算一列值的平均值(数值型)MAX([DISTINCT | ALL] <列名> ) 计算一列值的最大值MIX([DISTINCT | ALL] <列名> ) 计算一列值的最小值GROUP BY 子句将查询结果按某一列或多列的值分组,值相等的为一组。SELECT Cno,COUNT(Sno) FROM SC GROUP BY Cno;/*Cno值相等的为一组,计算各组的COUNT(Sno)*/ |
10、连接查询
/*等值,非等值连接:比较的连接谓词有=、<、>、>=、<=、!=(或<>)等*/SELECT Student.*,SC.* FROM Student,SC WHERE Student.Sno=SC.Sno;/*若在等值连接中把目标列的重复的属性去掉则为自然连接*/SELECT Student.*,SC.Cno,SC.Grade FROM Student,SC WHERE Student.Sno=SC.Sno;/*自身连接:一个表与自己进行连接*/SELECT FIRST.*,SECOND.* FROM Course FIRST, Course SECOND WHERE FIRST.Cpno=SECOND.Cno;/*外连接:若某个Student没有选课,仍把舍弃的Student元组保存在结果中,其SC的属性全填NULL*/SELECT * FROM Student LEFT JOIN SC ON (Student.Sno=SC.Sno); |
11、嵌套查询
/*去掉Student.Cname的UNIQUE*/ALTER TABLE Student DROP INDEX Sname;/*带有比较运算符的子查询*/SELECT Sno,Sname,Sdept FROM Student WHERE Sdept = ( SELECT Sdept FROM Student WHERE Sno='20071004'); SELECT Sno,Sname,Sdept FROM Student WHERE Sno IN ( SELECT Sno FROM SC WHERE Grade>=5); /*带有ANY(SOME)或ALL谓词的子查询*/ SELECT Sno,Sname,Sage,SsexFROM StudentWHERE Sage>ANY ( SELECT Sage FROM Student WHERE Ssex='fe');/*带有[NOT] EXISTS谓词的子查询*//*EXISTS谓词的子查询不反悔任何数据,只产生逻辑真与假*//*拿外层的元组逐个放在内层中判断是否EXIST,如果为真则将元组放入结果集*/SELECT Sname FROM Student WHERE EXISTS ( SELECT * FROM SC WHERE Sno=Student.Sno AND Cno='100'); /*集合查询:UNION并集,INTERSECT交集,EXCEPT差集*/SELECT Sno FROM StudentWHERE Sdept='hwx'UNIONSELECT *FROM StudentWHERE Sage>=20; |
12、视图操作
/*创建视图*/CREATE VIEW V_StudentASSELECT Sno,Sname,SageFROM StudentWHERE Sdept='xj';/*删除视图*/DROP VIEW V_Student;/*查询视图*/SELECT Sno,SnameFROM V_StudentWHERE Sage>50;/*更新视图*/UPDATE V_StudentSET Sname='vname'WHERE Sno='20071089';INSERT INTO V_StudentVALUES ('20081010','vnew',36); |
MYSQL基本操作语句的更多相关文章
- mysql 基本操作语句
mysql 基本操作笔记: 创建表demo:CREATE TABLE `role` ( `role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMME ...
- Mysql基本操作语句 增-删-改-查
增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...
- Mysql基本操作语句【重要】
一.对数据库的操作 1. 创建一个库 create database 库名 create database 库名 character set 编码
- MySql 基本操作语句整理
数据库 DATABASE: 创建 CREATTE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] cha ...
- MySQL 常用语句 (汇集)
原文地址:MySql常用语句作者:wuyanle 一.mysql常用语句 创建,删除和最基本查询: 显示数据库 mysql->show databases; 创建数据库 mysql-> ...
- Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用
MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF ...
- MySQL必知必会笔记-Mysql基本操作
Mysql基本操作 mysql的基本操作包括增.删.改.查,本书中前三章简单的介绍MySQL为何物,查是mysql中非常重要的功能,4-6章展示了mysql的查(查询--select)的简单实现,my ...
- day02 MySQL基本操作
day02 MySQL基本操作 昨日内容回顾 数据库演变史 1.纯文件阶段 2.目录规范 3.单机游戏 4.联网游戏 # 数据库就是一款帮助我们管理数据的程序 软件开发架构及数据库本质 cs架构与bs ...
- MySQL的语句执行顺序
MySQL的语句执行顺序 MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作.其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入 ...
随机推荐
- Setup Factory Error3014
在用Setup Factory打包软件的时候出现Error3014 一般都是由于软件冲突引起的 我的问题是由于杀毒软件 ,在打包的时候关闭杀毒软件 就能成功打包了.
- linux笔记:shell基础-bash基本功能
历史命令的调用: 命令和文件补全(如果当前有多个可选的补全,则按2次tab键,可以列出所有的可选项): 命令别名: 让别名永久生效: 删除别名: bash常用快捷键: 标准输入输出: 输出重定向: 输 ...
- python抓取数据 常见反爬虫 情况
1.报文头信息: User-Agent Accept-Language 防盗链 上referer 随机生成不同的User-Agent构造报头 2.加抓取等待时间 每抓取一页都让它随机休息几秒,加入此 ...
- SAP模块常用增强总结{转载}
MM模块: 采购订单增强: BADI :ME_GUI_PO_CUST ME_PROCESS_PO_CUST 物料凭证增强: BADI:MB_DOCUMENT_BADI USER-EXIT:MBCF00 ...
- Android开发--RelativeLayout的应用
1.简介 relativeLayout为相对布局,它是新版本安卓的默认布局方式.相对布局可以设置一个部件相对于其他部件所在的位置,包括上下左右等等. 2.构建
- display 和 visibility 的区别
设置控件隐藏 1.display:none 不为元素保留位置 2.visibility:hidden 占位置,是对象在网页上看不到,所占空间没有变化
- javascript 特殊的一些知识
基础知识 1.注释/**/ 块注释,与正则表达式有冲突,不安全. 2.js数字类型只有一个,即为64位的浮动值 3.NaN是一个数值,他不能产生正常结果的运算结果.NaN不等于任何值,包括它自己.is ...
- js6类和对象
// 第一种:对象 var person = {};// 或者var obj = new Object(); person.name = "king"; person.age = ...
- 特定场景下SQL的优化
1.大表的数据修改最好分批处理. 1000万行的记录表中删除更新100万行记录,一次只删除或更新5000行数据.每批处理完成后,暂停几秒中,进行同步处理. 2.如何修改大表的表结构. 对表的列的字段类 ...
- SqlServer和MySQL游标学习
一 sqlserver游标使用 /*** 游标的使用 讲了这个多游标的优点,现在我们就亲自来揭开游标的神秘的面纱. 使用游标的顺序: 声名游标.打开游标.读取数据.关闭游标.删除游标. 1.3.1 ...