一 .mysql的基本操作

  cmd命令来启动和停止Mysql

  net start mysql /net stop mysql;

    登录和退出msyql系统

   mysql  - h(localhost) 服务器地址或名字 -uroot 登录名 -p 

   在没有登录mysql的情况下备份和恢复数据库

   备份:mysqldump -hlocalhost -uroot -p 要备份的数据库 >目标文件名

   恢复:mysqldump -hlocalhsot -uroot -p 要恢复的数据库名<目标文件名

 二.基本语法规定

   1.注释:

       单行注释:#注释的内容   或 _ _  注释内容 (_ _ 之后有空格)

       多行注释: /*注释内容 */

  2.命名规则:

     通常使用下划线命名:

     create table tab_person(id int , person_name varchar(20));

三.php 操作mysql数据库的基本语法

   mysql_content("数据库服务器名",”用户名“,”密码“); //连接数据库

   mysql_query("set names utf8"); 或者 mysql_set_charset("utf8");//设置编码

   mysql_query("use 数据库名"); 或者 mysql_set_db("数据库名"); //选择要使用的数据库

   $sql = select * from 表名 ;

   $result = mysql_query($sql);执行sql语句

   mysql_fetch_array($result); // 获得一行数据 并使用字段名和下标存储

   mysql_fetch_assoc(); //获得一行数据 并使用字段名存储

   mysql_fetch_row();//获得一行数据 并使用下标索引存储

   mysql_num_fields();//获得结果集的列数

   mysql_field_name($result,$i); //得到结果集的第$i个字段

   mysql_affected_rows();//返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数

   mysql_num_rows() 函数来获得 SELECT 所返回的记录行数。

四.数据定义语句

   create database 数据库名 charset 字符集名

   create table 表名(字段1,字段2,。。。。);

   create view 视图名 as 一个select 语句

   数据库定义语句

   创建数据库:create  database 数据库 charset 字符集名;

   查看字符集: show charset;

   显示所有数据库:show databses;

   删除数据库: drop database 数据库名;

   选择数据库: use 数据库名;

   显示某个数据库的创建语句:show create database 数据库名

五.字段类型

   整数型: tinyint(255) smallint(65535) mediumint(16777215) int(4294967295) bigint(18446744073709551615)

  小数型: 浮点 float (单精度浮点型,精确到6-7位)    double (双精度浮点型,精确到20位)   定点 decimal  decimal(总长度,小数位数);

  日期时间型:year timestamp time date datetime

                  timestamp类型:表示该字段的值在insert或update语句执行的时候,会自动获得当前的时间值;

  字符串型 : set  enum text varchar char

                  char类型:表示定长字符串   设定的长度表示该字段必须存储该个数的字符,如果不够,也会自动补空格充满

                  varchar类型:表示可变长度字符串   设定的长度表示该字段最多能存储该个数的字符,如果不够,则存储的字符长度以实际为准

                   enum类型:枚举类型 其实就是”单选项“类型; 

                   create table tab_enum(address enum(’北京‘,’山东‘,’上海‘));

                   set类型: 就是”多选项“类型;

                   create table tab_set(aihao  set('篮球',’足球‘,’排球‘));

   unsigned: 不为负;

    zerofill:对该字段的数据值,如果长度不够指定的长度 前面用0填充

    create table tab_int2(id int(5) zerofill,name varchar(20));

  创建数据表实例:

     create table table_all(

             id    int    auto_increment    primary key   comment '自增长的id',

             user_name  varchar(20)  unique key   omment '用户名',

             password  char(32)   not null   comment '密码',

             age tinyint unsigned  default 18 comment '年龄,默认为18',

             email  varchar(50),

             birthday  date,

             reg_time   datetime,

             jiguan  enum('北京',’上海‘,’河北‘),

             aihao   set('篮球',’足球‘,’排球‘),

             money  decimal(10,2)

        );

       auto_increment : 用于整数类型,实现该字段的自增长特性,它必须同时设定这个字段为一个primary key 或 unique key

       primary key: 用于设定该字段为主键;

       unique key :用于设定该字段的值具有唯一性

       not null :用于设定该字段的值不能为null,

       default : 默认值,用于设定该字段的值如果没有赋值,就使用一个默认值

       comment: 字段说明文字 

六.索引

     索引 就是为了找某个表中的某行数据,而预先设定的一个排好序的"序列值"; 

     通过索引,可以迅速找到对应的数据本身

      

      主键索引: primary key (字段);

      唯一索引: unique key (字段);

      普通索引: key (字段);

      外键索引:foreign key (字段) references 另一个表名(字段);

      全文索引: fulltext key(字段)

      索引的优点:加快数据的查找速度。

              缺点: 数据的增删改操作就会变慢。

七.表选项设定

    engine= 表存储引擎名;//设定表的存储引擎, innodb myisam

    auto_increment=起始整数;//设定该表的自增长字段的起始值 

    charset=字符编码;//设定该表存储的字符类型

    comment=表说明文字;

八.修改表

    添加字段:alter table 表名 add [column] 新字段名  字段类型 

      alter table student add column email varchar(50) deault '@'  not null comment '邮箱' ;

   删除字段: alter table 表名 drop [column] 字段名

     alter table student drop email;

   修改表名:

      alter   table   student  rename to  new_student;

   删除一个表:

     drop  table if exists 表名;  if exists 用于判断该表是否存在;

九.表操作相关语句

    显示所有表:show databases;

    显示表结构: desc 表名;

    显示表的创建语句:show create table 表名;

    重命名表:rename table  旧表名 to 新表名;

    复制已有表结构:create table [if  not exists ] 新表名 like 原表名;

    创建索引: create [unique | fulltext] index 索引名 on 表名(字段1);

       create unique index ix_f1 on tab_char(f1);

    删除索引:

       drop index 索引名 on 表名。

posted on 2016-03-12 23:49  晨曦年华  阅读(248)  评论(0编辑  收藏  举报