zoukankan      html  css  js  c++  java
  • mysql (一)

    一 .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 表名。

  • 相关阅读:
    Redis 学习之路 (009)
    树莓派进阶之路 (012)
    树莓派进阶之路 (011)
    树莓派UFW防火墙简单设置
    树莓派进阶之路 (002)
    Redis学习之路(008)- Redis C语言客户端库hiredis文档翻译
    Redis学习之路(007)- Redis学习手册(实例代码)
    树莓派进阶之路 (000)
    Redis学习之路(006)- Redis学习手册(Hashes数据类型)
    Redis学习之路(005)- redis内存数据库C客户端hiredis API 中文说明
  • 原文地址:https://www.cnblogs.com/chenchenphp/p/5270977.html
Copyright © 2011-2022 走看看