本学习笔记是照搬慕课网《与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学习笔记(一)的更多相关文章

  1. 菜鸟的MySQL学习笔记(五)

    7.自定义函数 用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同.包含了两个必要条件,参数与返回值.没有必然内在联系. 函数可以返 ...

  2. 菜鸟的MySQL学习笔记(四)

    MySQL中的运算符和函数: 1.字符函数: 2.数值运算符与函数: 3.比较运算符与函数: 4.日期时间函数: 5.信息函数: 6.聚合函数: 7.加密函数等:   6-1.字符函数: CONCAT ...

  3. 菜鸟的MySQL学习笔记(三)

    4-1插入记录INSERT INSERT [INTO] tbl_name [(col_name)] {VALUES|VALUE} ({expr|DEFAULT},...), (...), ...   ...

  4. 菜鸟的MySQL学习笔记(二)

    3-1约束: 1.约束保证数据的完整性和一致性: 2.约束分表级约束(两个或两个个以上字段的约束)和列级约束(一个字段约束): 3.NOT NULL       非空: PRIMARY KEY     ...

  5. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  6. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

  7. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

  8. Mysql学习笔记(一)数据类型

    原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型     Mysql数据类型             含义(有符号)     tinyint(m ...

  9. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

随机推荐

  1. PowerShell中的数学计算

    Double类型和float都属于浮点类型,精度不高.而Decimal属于高精度

  2. 模拟京东商城登陆HttpRequest

    利用Winform HttpRequest 模拟登陆京东商城 目前只获取订单信息,可以获取图片等其他信息 using System; using System.Collections.Generic; ...

  3. jQuery遍历json

    使用 each var anObject = {one:1,two:2,three:3}; $.each(anObject,function(name,value) { alert(name); al ...

  4. Struts1中ActionForward的技巧介绍

    ActionForward是做什么的?他是用来封装转发和重定向路径的. 在struts- config.xml中<forward name="error" path=&quo ...

  5. Java对数组的操作(二)——集合与数组的切换

    在Java开发中经常遇见集合与数组的互相切换,怎样实现呢,呵呵呵,非常easy: import java.util.ArrayList; import java.util.Arrays;       ...

  6. Xcode中的Info.plist字段列表详解

    Info.plist用于向iOS提供关于app,bundle或者framework的一些重要信息.它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多.Info.pli ...

  7. Android ListView快速定位(一)

    方法一: SectionIndexer接口 + 索引列表 参考:http://www.apkbus.com/android-69999-1-1.html 所谓section 就是一组有共性的item, ...

  8. ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST

    最近想更深入学习下classic BADI, 以前没玩过BADI屏幕增强, 所以决定玩一下. 这次的屏幕增强主要用到两个BADI: ME_GUI_PO_CUST和ME_PROCESS_PO_CUST ...

  9. DebuggingWithGdb

    https://wiki.python.org/moin/DebuggingWithGdb http://blog.nsfocus.net/python-program-troubleshooting ...

  10. 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 ...