zoukankan      html  css  js  c++  java
  • MySQL入门

    MySQL中的数据类型

    MySQL有三大类数据类型, 分别为数字、日期时间、字符串, 这三大类中又更细致的划分了许多子类型:

    • 数字类型
      • 整数: tinyint、smallint、mediumint、int、bigint
      • 浮点数: float、double、real、decimal
    • 日期和时间: date、time、datetime、timestamp、year
    • 字符串类型
      • 字符串: char、varchar
      • 文本: tinytext、text、mediumtext、longtext
      • 二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob

    这里不能详细对这些类型进行介绍了, 篇幅可能会很长, 详细介绍参见: 《MySQL数据类型》 : http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html

    MySQL命令

    1、连接Mysql

    格式:mysql -h 主机名 -u 用户名 -p

    • -h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
    • -u : 所要登录的用户名;
    • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

      以登录刚刚安装在本机的MySQL数据库为例, 在命令行下输入 mysql -u root -p 按回车确认, 如果安装正确且MySQL正在运行, 会得到以下响应:

      Enter password:

      若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welecome to the MySQL monitor... 的提示语。

    然后命令提示符会一直以 mysql> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。

      在本地登录时可以不用   -h 主机名。

    2、修改密码

    格式:mysqladmin -u用户名 -p 旧密码 password 新密码

    3.1、创建数据库

    使用 create database 语句可完成对数据库的创建, 创建命令的格式如下:

    create database 数据库名 [其他选项];

    例1:建立一个名为xhkdb的数据库
       mysql> create database xhkdb;

    例2:创建数据库并分配用户

    ①CREATE DATABASE 数据库名;

    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

    ③SET PASSWORD FOR '数据库名'  @'localhost' = OLD_PASSWORD('密码');

    依次执行3个命令完成数据库创建。注意:中文 “密码”和“数据库”是户自己需要设置的。

    3.2、显示数据库

    命令:show databases (注意:最后有个s)
    mysql> show databases;

    3.3、删除数据库

    命令:drop database <数据库名>
    例如:删除名为 xhkdb的数据库
    mysql> drop database xhkdb;


    例子1:删除一个已经确定存在的数据库
       mysql> drop database drop_database;
    例子2:删除一个不确定存在的数据库
       mysql> drop database if exists drop_database;
     

    3.4、连接数据库

    要对一个数据库进行操作, 必须先选择该数据库, 否则会提示错误:

    两种方式对数据库进行使用的选择:

    一: 在登录数据库时指定, 命令: mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p

    例如登录时选择刚刚创建的数据库: mysql -D samp_db -u root -p

    二: 在登录后使用 use 语句指定, 命令: use 数据库名;

    use 语句可以不加分号, 执行 use samp_db 来选择刚刚创建的数据库, 选择成功后会提示: Database changed

    3.5查看当前选择的数据库和表

    命令:mysql> select database();

    MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?

    显示MYSQL的版本
    mysql> select version(); 

    显示当前时间
    mysql> select now(); 

    显示年月日
    SELECT DAYOFMONTH(CURRENT_DATE); 

    显示字符串
    mysql> SELECT "welecome to my blog!"; 

    当计算器用
    select ((4 * 4) / 10 ) + 25; 

     串接字符串
    select CONCAT(f_name, " ", l_name) 

    4、创建数据表

    命令:create table <表名> ( <列1> <类型1> [,..<列n> <类型n>]);

    例如,建立一个名为MyClass的表,

    字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
    id int 4 primary key auto_increment  
    name char 20      
    sex int 4     0
    degree double 16      


    mysql> create table class(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));

    以 "id int(4) not null  primary key auto_increment" 行进行介绍:

    • "id" 为列的名称;
    • "int(4)" 指定该列的类型为 int,数据长度为4位;
    • "not null" 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空;
    • "auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为 NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列
    • "primary key" 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。

    5、操作MySQL数据库

    向表中插入数据

    insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:

    insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);

    其中 [] 内的内容是可选的, 例如, 要给数据库中的 class表插入一条记录, 执行语句:

     mysql> insert into class values(1,'Tom',1,96.45),(2,'Joan',1,82.99), (2,'Wang', 1,96.59);

    有时我们只需要插入部分数据, 或者不按照列的顺序进行插入, 可以使用这样的形式进行插入:

    insert into class (name, sex, age) values("Tiny", 1, 21);

    查询表中的数据

    select 语句常用来根据一定的查询规则到数据库中获取数据, 其基本的用法为:

    select 列名称 from 表名称 [查询条件];

    mysql>select id,age from class;

    也可以查看表中所有列:

    mysql>select * from class;

    还可以使用限定条件:

    mysql>select id,age from class where degree < 90;

    更新表中的数据

    update 语句可用来修改表中的数据, 基本的使用形式为:

    update 表名称 set 列名称=新值 where 更新条件;

    mysql> update class set name='Mary' where id=1;

    删除表中的数据

    delete 语句用于删除表中的数据, 基本用法为:

    delete from 表名称 where 删除条件;

    例如:删除表 MyClass中编号为1 的记录
    mysql> delete from class where id=1;

    6、对创建后表的修改

    alter table 语句用于创建后对表的修改, 基础用法如下:

    添加列

    基本形式: alter table 表名 add 列名 列数据类型 [after 插入位置];

    mysql> alter table class add birthday date after age;                        //date的格式为: “XXXX-XX-XX”,赋值时应加上双引号“”;

    修改列

    基本形式: alter table 表名 change 列名称 列新名称 新数据类型;

    将 name 列的数据类型改为 char(16):

    alter table class change name name char(16) not null;

    删除列

    基本形式: alter table 表名 drop 列名称;

    示例:

    删除 birthday 列:

    alter table class drop birthday;

    重命名表

    基本形式: alter table 表名 rename 新表名;

    示例:

    重命名 class  表为 classmates:

    alter table class rename classmates;

    删除整张表

    基本形式: drop table 表名;

    示例: 删除 classmates 表:

    drop table classmates;

    删除整个数据库

    基本形式: drop database 数据库名;

    示例: 删除 samp_db 数据库:

    drop database samp_db;

    21分钟 MySQL 入门教程 - wid - 博客园 

    Mysql命令大全 - 宁静.致远 - 博客园 

    专栏:MySQL进阶指南 - 博客频道 - CSDN.NET http://blog.csdn.net/column/details/mysqlnote.html

    国内MYSQL 技术博客

    http://isky000.com/ 简朝阳
    http://www.ourmysql.com/
    http://www.mysqlsupport.cn/
    http://imysql.cn/ 叶金荣
    http://www.mysqlab.net/blog/ 谭俊青
    http://www.orczhou.com/
    http://www.ningoo.net/ (oracle) 
    http://www.taobaodba.com/ taobao dba team
    http://www.alidba.net/ alidba
    http://chj733.spaces.live.com/ 八神 
    http://www.hellodba.net/
    http://www.dbanotes.net/
    http://dbahacker.com/
    http://www.mysqlsystems.com/
    http://www.helpphp.cn/category/php-mysql


    http://zhaolinjnu.blog.sohu.com/
    http://hi.baidu.com/dbaeyes
    http://hi.baidu.com/thinkinginlamp 老王
    http://hi.baidu.com/liuzhiqun/blog/category/Mysql
    http://zhaolinjnu.blog.sohu.com/
    http://www.yayu.org/categroy.php?id=9
    http://blog.csdn.net/radkitty/category/471279.aspx

  • 相关阅读:
    CSS3-文本渐变色
    doT.js-doT模板方便快捷的组织页面DOM
    js库-AngularJS
    js-点击按钮页面滚动到顶部,底部,指定位置
    js-页面进入时同时实现-图片预加载
    js-jquery 中$.ajax -浅显接触
    js-数字渐增到指定的数字,在指定的时间内完成(有动画效果哦)插件jquery.animateNumber.js
    小程序-生成一个小程序码画在canvas画布上生成一张图片分享出去
    小程序-点击按钮回到顶部1
    vivo手机的坑-禁止微信浏览器网页点击图片,图片会自动放大
  • 原文地址:https://www.cnblogs.com/wujing-hubei/p/6052744.html
Copyright © 2011-2022 走看看