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,Ssex FROM Student WHERE 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 Student WHERE Sdept= 'hwx' UNION SELECT * FROM Student WHERE Sage>=20; |
12、视图操作
/*创建视图*/ CREATE VIEW V_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'xj' ; /*删除视图*/ DROP VIEW V_Student; /*查询视图*/ SELECT Sno,Sname FROM V_Student WHERE Sage>50; /*更新视图*/ UPDATE V_Student SET Sname= 'vname' WHERE Sno= '20071089' ; INSERT INTO V_Student VALUES ( '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操作.其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入 ...
随机推荐
- Hibernate <一级缓存>
Hibernate缓存分为三级: 一级缓存:基于事务级别(内存)的缓存,也可以成为session级别缓存 二级缓存:依赖于第三方,当请求一个对象时,先在缓存里面查找,如果没有就执行查询语句 查询缓存: ...
- 用Python编写的第一个回测程序
用Python编写的第一个回测程序 2016-08-06 def savfig(figureObj, fn_prefix1='backtest8', fn_prefix2='_1_'): import ...
- 【转载】CSS规范
原文地址:http://www.cnblogs.com/whitewolf/p/4491707.html 目录 HTML 语法 HTML5 doctype 语言属性(Language attribut ...
- CSS设置透明的两种方式
1..demo{ background-color:transparent; } 2..demo{ background-color:rgba(0,0,0,0.5); //最后一个参数是用来设置透明度 ...
- Linux Socket编程(不限Linux)
"一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信 ...
- python之map、filter、reduce、lambda函数 转
python之map.filter.reduce.lambda函数 转 http://www.cnblogs.com/kaituorensheng/p/5300340.html 阅读目录 map ...
- WampServer Version 2.5 bug修改
做PHP开发都需要安装PHP的运行环境,为了方便,网上可以下载到好多的集成环境,最近使用WampServer Version 2.5发现有一些bug,分享一下修改的方法.高手请路过. 1.echo d ...
- ABAP认识
ABAP是一种高级企业应用编程语言(Advanced Business Application Programming),起源于20世纪80年代.经过不断的发展,现在的版本为ABAP/4,SAP R/ ...
- eclise 部署web工程报 There are no resources that can be added or removed from the server.
该文章转自: http://blog.csdn.net/dw_java08/article/details/7789601 eclise 部署web工程报 There are no resources ...
- win7任务栏只显示日期不显示年月日
某一天突然发现笔记本任务栏上的时间显示只剩下了时间,没有了年月日 于是百度 搜到的结果大多是如何设置显示的格式 yyyy-MM-dd 继续搜 终于搜到了正确答案 结果令我瞠目结舌 着实无奈 是因为 ...