zoukankan      html  css  js  c++  java
  • MYSQL数据库基本操作、与php交互

    一、mysql数据库基本操作
    1.登陆mysql
    mysql -uroot -prooot -P3306 -h127.0.0.1
    分别是:用户名 密码 端口 ip
    开放访问
    mysql>GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    //允许任何IP地址(上面%就是任何的意思,可以改为特定的ip)的电脑用root(root也可以改为其他的用户名)来访问mysql server

    2.基本命令

    1)三种退出方式
    mysql > exit;
    mysql > quit;
    mysql > q;

    2)查看操作数据库、文件
    show databases; //列车所有数据库,需要带逗号结尾

    select database(); //查看对当前数据库
    create database wang; //新增数据库 create [kriˈeɪt] 创造
    drop database wang; //删除数据库 drop [drɒp] v:落下 n:减少、

    use wtx; //切换到wtx 数据库;
    show tables; //查看该数据库的所有表格
    desc user; //查看数据表内容,其中表的内容包含:表结构,字段类型,主键,是否为空等属性。

    select * from users; //查看users表里面的又有内容
    select password from users; //查看users表里面的所有密码
    select password from users where name="daxian" //查看名字为daxian的密码

    create table users(id int(7)); #创建table表,给与长度7
    create table biao(id int(7)auto_increment,username char(100) not null,pas sword char(100)not null,primary key(id))engine=innodb default charset=utf8;
    //创建一个有用户名和密码的完整的表

    create table biao(id int(7) #创建表
    AUTO_INCREMENT #标识该属性的值是自动增加,这是MySQL的SQL语句的特色
    username varchar(100) not null #字段、数据类型和长度值、不能为空
    PRIMARY KEY #标识该属性为该表的主键,可以唯一的标识对应的元组
    ENGINE #设置表的引擎和默认的字符类型,常见的数据库引擎InnoDB myisam
    DEFAULT #为该属性设置默认值

    修改表的属性:
    alter table biao rename biao10; //修改名字
    ALTER TABLE 旧表名 RENAME 新表名;
    alter table biao modify username varchar(155);
    ALTER TABLE 表名 MODIFY 属性名 数据类型;
    alter table biao10 change username dayuname char(111);
    ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
    alter table biao10 add shell char(111) not null; //增加字段名
    ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];
    alter table biao10 drop shell; //删除字段名
    ALTER TABLE 表名 DROP 属性名;

    数据库增删改查操作:
    insert into user(name,password)values('xiaoming','123456'); //id是自增的就不用加id
    delete from biao1 where id=1;
    #这种方法删除数据后,在增加数据id会从后开始增添:8、9等等..
    truncate table biao1;
    #这种方法删除数据后,在增加数据id=1开始算
    delete from biao1;
    #全部删除
    update biao1 set password='56454' where id=2;//更新数据

    select:

    select * from biao1 where username like "wang%"; //模糊查询,%代表所有
    select * from biao1 where username like "%wang%";

    select * from biao1 where username like "wan_";
    select * from biao1 where username like "w____";
    #一个数值加一个_

    select * from biao1 where id<7 or username='test1';
    select * from biao1 where id=5 or username='test1';
    OR 和 AND 一起使用的时候,AND 的优先级高于 OR,因此二者一起使用时,会先运算 AND 两边的表达式,再运算 OR 两边的表达式。

    mysql> select count(id) from biao1;
    mysql> select count(*) from biao1;

    mysql> select sum(id) from biao1;
    mysql> select avg(id) from biao1;
    mysql> select max(id) from biao1;
    mysql> select min(id) from biao1;

    limit限制查询:
    select * from biao1 limit 1; //只查看前1条数据
    select * from biao1 limit 4; //指查看前4条数据
    select * from biao1 limit 1,5; //从1条数据后面开始数5条。

    聚合查询
    COUNT() 返回某列的行数
    SUM() 返回某列值的和
    AVG() 返回某列的平均值
    MAX() 返回某列的最大值
    MIN() 返回某列的最小值

    union 联合查询
    select * from biao1 union select *,1 from biao2;

    3)三种注释符
    #注释 --
    "-- 注释"
    /*注释*/


    数据库连接工具:nacicat


    information_schema数据库表:
    SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
    TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
    COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。

    SCHEMATA #包含了所有数据库名、类型、字符集等
    TABLES #新建所有表的信息
    COLUMNS #列的类型

    select schema_name from information_schema.schemata //查看所有数据库
    select table_name from information_schema.tables where table_schema="数据库名字" //查某个数据库里面的所有表
    select COLUMN_NAME from information_schema.`COLUMNS` WHERE TABLE_NAME='biao1' //查询列
    select id,username,password from ceshi.biao1
    #通过information_schema系统库里面表来查询其他库表的数据,跨库查询需要权限比较大的时候才可以的


    插入数据:INSERT INTO `users`( `name`, `password`, `photo`, `money`) VALUES ("test1","test1","c:\1\www.jpg",100)

    php 与mysql交互步骤
    1、建立连接
    用户名
    密码
    地址
    数据库名
    2、执行sql语句
    3、断开连接

    例子:
    <?php
    $dbHost = "127.0.0.1";
    $dbUser ="root";
    $dbPass ="root";
    $dbName ="wtx";
    $link = @mysqli_connect($dbHost,$dbUser,$dbPass,$dbName);//建立连接,$link进入数据库的令牌
    if(!$link){
    die(mysqli_connect_error()); //捕获错误信息
    }
    $sql="select * from users"; //选择表中的所有数据
    //$results= mysqli_query($link,$sql); //这个函数执行sql语句,同时需要提供令牌
    //输出是一个结果及对象,不是需要的数据
    //$r1=mysqli_fetch_assoc($results); //对以上的结果及对象取出来
    //$r2=mysqli_fetch_assoc($results); //这个函数只取一条,再执行向下取
    //var_dump($r1);
    //var_dump($r2);
    if($results= mysqli_query($link,$sql)){
    while($r1 = mysqli_fetch_assoc($results)){ //循环取对象中的数据
    var_dump($r1);
    }

    }else{die(mysqli_error($link));} //die:结束脚本执行 输出错误信息
    mysqli_close($link); //关闭连接
    ?>

  • 相关阅读:
    流光shader 和 流光+扭曲shader
    unity3d android动态更新dll
    Shader之溶解效果的几种实现方法
    我的第一个法线贴图
    windows 函数
    MFC 消息框
    C++ MFC棋牌类小游戏day1
    C++STL 预定义函数对象和函数适配器
    C++STL 函数对象和谓词
    C++STL 算法
  • 原文地址:https://www.cnblogs.com/trevain/p/14366669.html
Copyright © 2011-2022 走看看