本学习笔记是照搬慕课网《与MySQL的零距离接触》内容,特此感谢!
1-1 mysql的安装与配置
Windows环境下的MSI安装:
1、安装:
双击MSI文件->用户协议->选择Typical(典型安装)->instal->finish;
2、配置:
配置向导文件(C\\pf\\Mysql\mysqlsever\bin下的mysqlinstaceconfig.exe)->detailed(详细)或者(standard标准)->勾选windows服务和环境变量选项->设置root用户和密码->执行配置选项。
3、mysql的目录结构:
bin目录 存储可执行文件
data目录 存储数据文件
docs 文档
include目录 存储包含的头文件
lib目录 存储库文件
share 错误消息和字符集文件
1-2启动和关闭mysql服务
1、计算机服务启动和关闭:
net start mysql;
net stop mysql;
net restart mysql;
2、使用mysql
登录:
MySQL -D(--database=name 打开指定数据库)--delimiter=name (指定分隔符) -h(--host=name 服务器名称)-p (--password[=name]密码)-P(--Port=端口) --prompt=name(设置提示符) -u(--user=name 用户名)-V (--versiom 版本信息)
#MySQL -uroot -p -P3306 -h172.1.1.200
退出:
MySQL>exit;或者quit;或者\q;
修改MySQL提示符:
连接客户端时: shell>mysql -uroot -proot --prompt 提示符
连上客户端时: MySQL>prompt 提示符
修改说明: \D 完整的日期 \d 当前数据库 \h 服务器名称 \u 当前用户
#MySQL>PROMPT '\u@\h \d' 》》》root@localhost(库名)>
1-3MySQL常用命令
查看版本号: SELECT VERSION();
显示当前日期: SELECT NOW();
显示当前用户 :SELECT USER();
MySQL语句规范:
①关键字和函数名称全部大写;
②数据库名、表名称、字段名称全部用小写;
③sql语句必须以分号结尾。
创建数据库:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
#CREATE DATABASE test_usr;
查看数据库:
SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr]
#SHOW test_usr;
修改数据库:
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;
#修改数据库编码方式 ALTER DATABASE test_usr CHARACTER SET = utf8;
删除数据库:
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
{}符号为二选一 []符号为可选可不选
2-1数据类型与数据表的操作
数据类型是指数据列、存储过程参数、表达式和局部变量的数据特征,觉得了数据的存储格式,代表了不同的数据类型。
整型:
TINNYINT (有符号位:-128到127 无符号位: 0到255)
SMALLINT (有符号位 -32768到32767 无符号位0到65536)
MEDIUMINT (有符号位:-2的23次方到2的23次方-1)
INT (有符号位:-2的31次方到2的31次方-1 无符号位:0到2的32次方-1)
BIGINT (有:-2的63位 到2的63位-1 无:2的64位-1)
浮点型:
FLOAT[(M.D)] M是数字的总位数,D是小数点后面的位数。单精度精确大约到7位小数。
DOUBLE[(M,D)]
日期时间型:
YEAR 1(存储需求)
TIME 3
DATE 3
DATETIME 8
TIMESTAMP 4
字符型:
CHAR(M) M个字节,0<=M<=255
VARCHAR(M) L+1个字节,其中L<=M 且0<=M<=65535
TINYTEXT L+1个字节,其中L<2的八次方
TEXT L+2个字节,其中L<2的16次方
MEDIUMTEXT L+3个字节,其中L<2的24次方
LONGTEXT L+4个字节,其中L<2的32次方
ENUM('value1','value2'...) 1或2个字节,取决于枚举值的个数,最多65535个值
SET('value1','value2'...) 1/2/3/4或8个字节,取决于set成员的数目,最多64个成员
2-2 数据表的操作
打开数据库:
USE +库名称; 如,USE test-user;
查看数据库:
SHOW DATABASE;
查看打开的数据库:
SELECT DATEBASE();
创建数据表:
CREATE TABLE [IF NOT EXISTS] table_name (column_name data_type,...);
#CREATE TABLE tb1(
username VACHAR(20),
age TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED);
创建了一个包含名称 年龄 收入的表
查看数据表:
SHOW TABLES [FROM db_name] [LIKE 'pattern'|WHERE expr]
查看数据表的结构:
SHOW COLUMNS FROM tbl_name;
插入数据(写入记录):
INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...);
#INSERT tbl VALUES ('Tom',25,7886.34); #与表字段完全匹配的数据
INSERT tb1(username,salary) VALUES('Jon',4443); #指定列插入数据(限制为未插入位置允许空值)
查找记录:
SELECT expr,... FROM tbl_name;
2-3修改数据表:
添加单列:
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
添加多列:
ALTER TABLE tbl_name ADD [COLUMN] (col_name colum_definition,...)
删除列:
ALTER TABLE tbl_name DROP [COLUMN] col_name
添加主键约束:
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_tye] (index_col_name,...)
添加唯一约束:
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
添加外键约束:
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition
添加/删除默认约束:
ALTER TABLE tbl_name ALTRT [COLUMN] col_name {SET DEFAULT literal |DROP DEFAULT}
删除主键约束:
ALTER TABLE tbl_name DROP PRIMARY KEY
删除唯一约束:
ALTER TABLE tbl_name DROP {INDEX | KEY} index_name
删除外键约束:
ALTET TABLE tbl_name DROP FOREIGN KEY fk_symbol
修改列定义:
ALTER TABLE tbl_name MODIFY [COLUMN ] col_name column_definition [FIRST|AFTER col_name]
修改列名称:
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]
修改数据表名
方法1:ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
方法2:RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2] ...
- 菜鸟的MySQL学习笔记(五)
7.自定义函数 用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同.包含了两个必要条件,参数与返回值.没有必然内在联系. 函数可以返 ...
- 菜鸟的MySQL学习笔记(四)
MySQL中的运算符和函数: 1.字符函数: 2.数值运算符与函数: 3.比较运算符与函数: 4.日期时间函数: 5.信息函数: 6.聚合函数: 7.加密函数等: 6-1.字符函数: CONCAT ...
- 菜鸟的MySQL学习笔记(三)
4-1插入记录INSERT INSERT [INTO] tbl_name [(col_name)] {VALUES|VALUE} ({expr|DEFAULT},...), (...), ... ...
- 菜鸟的MySQL学习笔记(二)
3-1约束: 1.约束保证数据的完整性和一致性: 2.约束分表级约束(两个或两个个以上字段的约束)和列级约束(一个字段约束): 3.NOT NULL 非空: PRIMARY KEY ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- Mysql学习笔记(二)数据类型 补充
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
随机推荐
- PowerShell中的数学计算
Double类型和float都属于浮点类型,精度不高.而Decimal属于高精度
- 模拟京东商城登陆HttpRequest
利用Winform HttpRequest 模拟登陆京东商城 目前只获取订单信息,可以获取图片等其他信息 using System; using System.Collections.Generic; ...
- jQuery遍历json
使用 each var anObject = {one:1,two:2,three:3}; $.each(anObject,function(name,value) { alert(name); al ...
- Struts1中ActionForward的技巧介绍
ActionForward是做什么的?他是用来封装转发和重定向路径的. 在struts- config.xml中<forward name="error" path=&quo ...
- Java对数组的操作(二)——集合与数组的切换
在Java开发中经常遇见集合与数组的互相切换,怎样实现呢,呵呵呵,非常easy: import java.util.ArrayList; import java.util.Arrays; ...
- Xcode中的Info.plist字段列表详解
Info.plist用于向iOS提供关于app,bundle或者framework的一些重要信息.它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多.Info.pli ...
- Android ListView快速定位(一)
方法一: SectionIndexer接口 + 索引列表 参考:http://www.apkbus.com/android-69999-1-1.html 所谓section 就是一组有共性的item, ...
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
最近想更深入学习下classic BADI, 以前没玩过BADI屏幕增强, 所以决定玩一下. 这次的屏幕增强主要用到两个BADI: ME_GUI_PO_CUST和ME_PROCESS_PO_CUST ...
- DebuggingWithGdb
https://wiki.python.org/moin/DebuggingWithGdb http://blog.nsfocus.net/python-program-troubleshooting ...
- Cummins INSITE locked and ask for verification code
Some Cummins INSITE users turn to our engineer with a same question: INSITE has detected an invalid ...