Mysql学习整理

作者 :
免费
  • 正文
  • 第14章 mysql基础

    1)显示当前的数据库的版本号和日期
    select version(),current_date();

    2)通过AS关键字设置字段名。
    select version() as version; //可以设置中文,通过单引号 as 可以把值显成中文
    select version() as "版本号"; //版本号 必须用"" 双引号,引上。

    3)通过select 执行返回计算结果
    select (20+6)*4;

    4)只要不打分号 可以输入很多项;
    >select
    >version()
    >;
    >select user() 查看使用者;
    5)通过一行显示数据库使用者
    select user();select now(); 两个表格,使用者的和创建时间。

    6)命令的取消
    >\c

    7)mysql 窗口的退出
    exit; quit;

    第15章 mysql数据库

    mysql常用的数据库类型

    整数型:TINYINT,SMALLINT,INT,BIGINT
    浮点型:FLOAT,DOUBLE,DECIMAL(M,D)
    字符型:CHAR, VERCHAR
    日期型:tiem year date datetime

    TEXT 用于备注,大文章,帖子,新闻内容。
    char 访问速度快

    varchar 容量小

    mysql数据库操作
    1)显示当前存在的数据库
    show databases;
    2)选择你所需要的数据库
    use guest;
    3)查看当前所选择的数据库
    select database(); 这个是一个函数
    4)查看一张表的所有内容
    select * from guest
    5) 根据数据库设置中文编码
    set names gbk;
    6)创建一个数据库
    create datebase book;
    7)在数据库里创建一张表
    create table user(
    username varchar(20),
    sex CHAR(1),
    birth datetime
    );
    8)显示表的结构
    descirbe users;
    desc user;
    9)给表插入一条数据
    insert into user(username,sex,birth)values('dbs','0',now());
    //这里记住,字符串要用''单引号注释。
    10)筛选指定的数据
    select * from user; //查询User表里面的所有记录
    select username,sex from user;
    select * from user where sex=’女‘;//注要性别是女的数据查询
    select * from user where sex='1';
    delete from user where sex='x'; //删除空值,这里不能用*
    11) 修改指定的数据
    update user set sex='男' where username='xiao';
    //当username='xiao'的时候,把性别修改为男
    12)删除指定的数据
    delete from user where username='xiao'
    删除记录为username='xiao'的记录。
    13)按指定的数据排序
    select * from user ordey by birth desc; //倒序
    select * from user ordey by birth asc; //正序
    select * from user order by birth;//正序
    14)删除指定的表
    drop table user;
    15)删除指定的数据库
    drop datebase test

    44课

    第15章 mysql数据库函数

    文本函数
    concat(x,y...)创建形如xy的新字符串
    length(col)返回列中储存的值的长度
    left(col,x)从列的值中返回最左边的x个字符
    right(col,x)从列的值中返回最右边的x个字符
    trim(col)从存储的值删除开头和结尾的空格
    upper(col)把存储的字符串全部大写
    lower(col)把存储的字符串全部小写
    substring(col,start,length)从col中返回开始的start的length个字符(索引从0开始)
    md5(col)把存储的字符串用md5加密
    sha(col)把存储的字符串用sha加密

    select left('col',2);
    select trim(' test ');
    substring('col',2,1) 从第个位置取1位

    数字函数
    ABS(X) 返回x的绝对值
    ceiling(x)返回x的值的最大整数,这是有小数的。
    floor(x)返回x的整数
    round(x) 返回x的四舍五入
    mod(x)返回x的余数
    rand()返回0-1.0之间的随机数
    format(x)返回一个格式式后的小数
    sign(x)返回一个值,正数(+1),0,负数(-1);
    sqrt(x)返回x的平方

    select round(rand()*10); 取得整数

    日期和时间函数
    hour(col)只返回储存日期的小时值
    minute(col)只返回储存日期的分钟值
    second(col)只返回储存日期的秒值
    dayname(col)返回日期值中天的名称
    dayofmonth(col)返回日期值中当月第几天
    monthname(col)返回日期值中月份的名称
    month(col)返回日期值中月份的数字值
    year(col)返回日期值中年份的数字值
    curdate(now())返回当前日期
    curtime(now())返回当前时间
    now() 返回当前时间和日期 常用

    select now()
    select hour(now());
    以上函数全放now();

    格式化日期和时间(date_format()和time_format())
    %e 一月中的某天 1-31
    %d 一月中的某天,两位 01-31
    %D 带后缀的天 1st-31st
    %W 周日名称sunday-saturday
    %a 简写的周日名称 sun-sat
    %c 月份编号
    %m 月份编号,两位 01-12
    %M 月份名称 january-december
    %b 简写的月份名称 jan-dec
    %Y 年份 2012
    %y 年份,两位 10
    %l 小时 1-12
    %h 小时,两位 01-12
    %k 小时 24小时制 00-23
    %H 小时,24小制度,两位
    %i 分钟 00-59
    %S 秒 00-59
    %r 时间 10:50:20 PM
    %T 时间,24小时制 20:17:03 pM
    %p 上午或小午 AM 或PM

    select date_format(now(),'%Y');
    select time_format(now(),'%r'); //和date_format效果一样。

    sql语句详解
    1,创建一个班级数据库school,create database school;
    里面包含一张班级表grade, create table grade;
    包含编号(id),姓名(name)、邮件(email)、评分(point)、注册日期(regdate).
    create table grade(
    id tinyint(2) unsigned not null auto_increment,
    name varchar(20)not null,
    email varchar(40),
    point tinyint(3) unsigned not null,
    regdate datetime not null,
    primary key(id)
    );
    //tingint unsigned 0-255
    //tinyint(2) unsigned 表示无符号整数 0-99
    id为主键,让id值唯一,不得重复。
    drop table grade; //删除表
    drop table if exists grade; //如果检测到grade字段就删除。

    2.给这个班级表grade 新5-10条学生记录
    insert into grade(name,email,point,regdate)values('li','qq@126.com','100',now());

    ALTER TABLE `grade` ADD `xingming` VARCHAR( 100 ) NOT NULL ;//添加记录
    ALTER TABLE `grade` DROP `xingming`; //删除字段(列)

    ALTER TABLE `grade` ADD `xingming` VARCHAR( 100 ) NOT NULL COMMENT '姓名'; //添加记录带注释
    下课46课
    where 表达式的常用运算符
    =
    <
    >
    <=
    >=
    != 不等于
    is not null 具有一个值
    is null没有值
    between 在范围内
    not between 不在范围内
    in 指定的范围
    or 两个条件语句之一为真
    and 两个条件语句都为真
    not 条件语句不为真

    4.姓名等于'li'的学员,成绩大于90分的学员,邮件不为空的成员,70-90之间成员
    select * from grade where name='li';
    select * from grade where point>90;
    select * from grade where email is not null;
    select * from grade where email is null; //查询空值
    select * from grade where point between 70 and 90;
    select * from grade where point in(17,67,90,100);

    5.查找邮件使用163的学员,不包含126.com字符串的学员
    使用% 代表任意
    like %126.com 以结尾是126.com
    select *from grade where email like '%126.com';
    select *from grade where email like'%@%'; 中间包含
    select *from grade where email not like'%@%'; //not否

    ------

    SELECT COUNT( * ) AS `行数` , `xingming`
    FROM `grade`
    GROUP BY `xingming`
    ORDER BY `xingming`
    LIMIT 0 , 30

    ------
    6.按照学员注册日期的倒序排序,按照分数的正序排序
    select * from grade ordey by regdate desc;
    select * from grade ordey by point asc;

    7.只显示前三条学员的数据,从第3条数据开始显示2条
    select * from grade limit 3;
    select * from grade limit 2,2;

    8.修改姓名为'dbs'的电子邮件
    update grade set email='dbs@126.com' where name='dbs';

    9.删除编号为4的学员数据
    delete from grade where id=4;

    10.练一下分组的函数。
    mysql分组函数
    AVG(col)返回列的平均值
    COUNT(col)统计行数
    MAX(col)求列中的最大值
    MIN(col)求列中的最小值
    sum(col)求列中的和

    select avg(point) from grade;
    select avg(point) as '平均值' from grade;

    select count(*) as '统计' from grade; 返回结果是字段数。
    select count(email) from grade; //如果是空值,将不统计
    select max(point) from grade; //最大值

    11.检查这个表的信息
    show table status \G

    12.优化一张表
    optimize table grade;
    -------------------------
    47课。。。 phpmyadmin

    drop table 'grade'

    主键即主关键字(primary key)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部份。一个表不能有多个主关键字,并且主关键字的表不能包含空值。主关键字是可选的,并且可在create table 或alter table语句中定义。

    第48课
    <?php
    header('content-type:text/html;charset=utf-8');
    mysql_connect('localhost:3306,'root','password') or die('连接失败');
    or die连用
    define('DB_HOST','LOCALHOST');
    define('DB_USER','root');
    define('DB_PWD','');
    define('DB_NAME','school');

    $conn=@mysql_connect(DB_HOST,DB_USER,DB_PWD)or die('连接失败',mysql_close());

    mysql_select_db(DB_NAME,$conn)or die('指定数据库不存在',mysql_close());

    Mysql学习整理-完美源码

    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » Mysql学习整理
    3467+

    本站勉强运行

    3649+

    用户总数

    689+

    资源总数

    0+

    今日更新

    2024-3-11

    最后更新时间