Mysql基础1
一、数据库简介
1、Structured Query Language (结构化查询语言)
2、SQL:工业标准。(各个数据库厂商都支持)
SQL-Server:对标准进行了扩展。TSQL 方言
Oracle:对标准进行了扩展。PLSQL
规定:
shell>window下命令
mysql>mysql中的命令,一般以;结尾(进入数据库)
二、安装MySQL数据库
如何验证安装是否成功!
shell>mysql -u root -psorry
显示所有的数据库
mysql>SHOW DATABASES;
除了test,其他2个数据库不要动。
*****三、SQL语句
1、DDL:Data Definition Language(数据定义语言)
关键字:CREATE ALTER DROP(操作对象:数据库和表结构。就是定义数据库或表的结构)
------------------------------------------------------------------
创建一个名称为mydb1的数据库。
mysql>CREATE DATABASE mydb1;
查看数据库的创建细节
mysql>SHOW CREATE DATABASE mydb1;
创建一个使用gbk字符集的mydb2数据库。
mysql>CREATE DATABASE mydb2 CHARACTER SET gbk;
创建一个使用utf8字符集,并带校对规则的mydb3数据库。
mysql>CREATE DATABASE mydb3 CHARACTER SET utf8 COLLATE utf8_general_ci;
查看当前数据库服务器中的所有数据库
mysql>SHOW DATABASES;
查看前面创建的mydb2数据库的定义信息
mysql>SHOW CREATE DATABASE mydb2;
删除前面创建的mydb2数据库
mysql>DROP DATABASE mydb2;
查看服务器中的数据库,并把其中mydb1库的字符集修改为gbk;
mysql>ALTER DATABASE mydb1 CHARACTER SET gbk;
备份test库中的数据,并恢复
备份:
shell>mysqldump -h localhost -u root -psorry test>c:/test.sql
恢复数据库:(删除掉test数据库)
创建test数据库
mysql>CREATE DATABASE test;
mysql>USE test;
恢复:
方式一:
mysql>SOURCE C:/test.sql;
//选择数据库
mysql>USE test;
方式二:
shell>mysql -u root -psorry test<c:/test.sql
显示数据库中的所有表格
mysql>SHOW TABLES;
-------------------------------------------------
创建员工信息表
mysql>CREATE TABLE employee(
id int,
name varchar(100),
gender varchar(10),
birthday date,
entry_date date,
job varchar(100),
salary float(8,2),
resume varchar(200)
);
查看数据库中所有的表格
mysql>SHOW TABLES;
查看某张表格的结构
mysql>DESC employee;
在上面员工表的基本上增加一个image列。
mysql>ALTER TABLE employee ADD (image blob);
修改job列,使其长度为60。
mysql>ALTER TABLE employee MODIFY job varchar(60);
删除gender列。
mysql>ALTER TABLE employee DROP gender;
表名改为user。
mysql>RENAME TABLE employee TO user;
修改表的字符集为utf-8
mysql>ALTER TABLE user CHARACTER SET utf8;
列名name修改为username
mysql>ALTER TABLE user CHANGE name username varchar(100);
*2、DML:Data Manipulation Language(数据操作语言)
关键字:INSERT UPDATE DELETE(操作对象:表中的数据。就是操作表中的记录用的)
------------------------------------------------------------------
在MySQL中,字符或字符串或日期类型的数据要使用单引号引起来。关键字NULL表示空值,不同于空字符串值。''
使用insert语句向表中插入三个员工的信息。
mysql>INSERT INTO user (id,username,birthday,entry_date,job,salary,resume) VALUES (1,'huangshanshan','1992-09-08','2012-11-15','CEO','10000','beautiful girl');
mysql>INSERT INTO user VALUES (2,'niuyang','1992-09-08','2012-11-15','CTO','10000','beautiful boy');
mysql>INSERT INTO user VALUES (3,'于连林','1992-09-08','2012-11-15','CMO','10000','帅锅');
告诉服务器客户端用的编码是什么?
mysql>SET character_set_client=gbk;
查看数据
mysql>SELECT * FROM user;
解决返回的数据中文乱码
mysql>SET character_set_results=gbk;
MySQL中的各种编码:
查看有哪些地方用到编码
mysql>SHOW VARIABLES LIKE 'character%';
character_set_client:此变量通知服务器客户端用的是什么编码
character_set_connection:此变量通知服务器客户端链接时用的是什么编码
character_set_database:数据库用的编码
character_set_results:是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
character_set_server:是服务器安装时指定的默认字符集设定
character_set_system :是数据库系统使用的字符集设定。
将所有员工薪水修改为5000元。
mysql>UPDATE user SET salary=5000;
将姓名为’niuyang’的员工薪水修改为30000元。
mysql>UPDATE user SET salary=30000 WHERE username='niuyang';
将姓名为’huangshanshan’的员工薪水修改为20000元,job改为HR。
mysql>UPDATE user SET salary=20000,job='HR' WHERE username='huangshanshan';
将于连林的薪水在原有基础上增加10000元。
mysql>UPDATE user SET salary=salary+10000 WHERE username='于连林';
删除表中名称为’于连林’的记录。
mysql>DELETE FROM user WHERE username='于连林';
删除表中所有记录。(一条一条地删除)
mysql>DELETE FROM user;
使用truncate删除表中记录。(摧毁整张表,然后重建表结构)
mysql>TRUNCATE user;
------------------------------------------------------------------
*3、DQL:Data Query Language(数据查询语言)
关键字:SELECT
查询表中所有学生的信息。
mysql>SELECT id,name,chinese,english,math FROM student;
或者SELECT * FROM student;
查询表中所有学生的姓名和对应的英语成绩。
mysql>SELECT name,english FROM student;
过滤表中重复数据。
mysql>SELECT DISTINCT english FROM student;
在所有学生语文分数上加10分特长分。
mysql>SELECT id,name,chinese+10 FROM student;
统计每个学生的总分。
mysql>SELECT id,name,chinese+english+math FROM student;
使用别名表示学生分数。(AS可以省略)
mysql>SELECT id,name,chinese+english+math AS 总分 FROM student;
mysql>SELECT id,name,chinese+english+math 分 FROM student;
查询姓名为wu的学生成绩
mysql>SELECT id,name,chinese,english,math FROM student WHERE name='王五';
查询英语成绩大于90分的同学
mysql>SELECT name,english FROM student WHERE english>90;
查询总分大于200分的所有同学
mysql>SELECT name,chinese+english+math AS 总分 FROM student WHERE (chinese+english+math)>200;
------------------------------------------------------------------
(选修)4、DCL:Data Control Language(数据控制语言)
GRANT等
*****四、多表关系及设计
*****五、约束
Mysql基础1的更多相关文章
- Mysql基础代码(不断完善中)
Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- 【夯实Mysql基础】记一次mysql语句的优化过程
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...
- MySQL基础(非常全)
MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...
- mysql 基础篇5(mysql语法---数据)
6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...
- MySQL 基础语句
MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...
- MySQL:基础—数据分组
MySQL:基础-数据分组 1.为什么要分组: 比如一个表中有多条订单记录,如上图,每条记录对应着一个商品,现在我要查询 每个商品被订购的单数 准备出货?也就是找到每个商品被订购的数量. 如果只找一个 ...
- MySQL基础学习总结
1.MySQL基础概念 mysql逻辑架构如下: 每个客户端连接都会在服务器中拥有一个线程,这个连接的查询只会在这个单独的线程中执行. MySQL是分层的架构.上层是服务器层的服务和查询执行引擎,下层 ...
- MySQL基础(五)——视图
MySQL基础(五)--视图
- MySQL基础(四)——索引
MySQL基础(四)--索引
随机推荐
- mysql备份还原数据库
1.备份数据库 mysqldump -u root -p test>/home/victor/test.sql 说明:如果提示找不到mysqldump命令,先用一条find命令查找mysqldu ...
- 相机标定:关于用Levenberg-Marquardt算法在相机标定中应用
LM算法在相机标定的应用共有三处. (1)单目标定或双目标定中,在内参固定的情况下,计算最佳外参.OpenCV中对应的函数为findExtrinsicCameraParams2. (2)单目标定中,在 ...
- CENTOS 6.4 安装oracle 10g,手工建库及升级到10.2.0.5
一. 数据库软件安装 参照官方手册 1.安装rpm包 注这里的yum直接用163的yum yum -y install binutils compat-libstdc++-33 compat-libs ...
- vs 2013 Express 无法启动程序xxx.exe,系统找不到指定文件
由于实验室有人用了含病毒的软件,网管把实验室出口给封了,周末人家又不上班.看样子树莓派是玩不成了,所以昨天在宿舍写windows程序,最基本的窗口程序,听说这段代码初学者至少要自己敲5遍以上.代码如下 ...
- 自动化测试selenium+java 环境搭建
1.开发环境: a:安装jdk,配置java的环境变量 b:安装eclipse 工具.火狐浏览器(低版本) 2.下载selenium包 selenium-java-2.44.0.jar seleniu ...
- tinyxml学习2
在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类. TiXmlAttribute:对应于XML中的元素的属性. TiXmlNode:对应于DO ...
- CSS从大图片上截取小图标的操作
注:图片名称(tabicons.png)每个小图标width:18px;height:18px从左上角坐标为(-0px;-0px;); 例如第一个对号的坐标为(-0px;-0px;)第二个加号的图标为 ...
- 怎么去除google的 安全搜索
想要避开安全搜索 更改右上角的搜索设置,将搜索语言改为英文,然后保存搜索设置 第二次进入搜索设置里找Filter explicit results前的面的勾去掉即可.
- Find Query Window的运作(手电筒)
Find Query Window的運作?(手电筒) 提示: 在點選 Toolbar的 Find鈕時,系統會觸發 Query_Find此 Trigger. 執行 App_Find.Query_Find ...
- jquery点击添加样式,再点击取出样式
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...