• MySql入门学习笔记


    1.在PATH中添加了环境变量值:D:Program FilesMicrosoft Visual StudioCommonToolsWinNT;%JAVA_HOME%in ;D:Program FilesMicrosoft Visual StudioCommonMSDev98Bin;D:Program FilesMicrosoft Visual StudioCommonTools;D:Program FilesMicrosoft Visual StudioVC98in;D:软件中心JDK安装位置in;C:WindowsSystem32;D:Program FilesMySQLMySQL Server 5.6in;D:Program FilesMySQLMySQL Server 5.5in
     
    2.命令
     
    net start MySQL      --启动MySQL服务的命令行方式
    net stop MySQL      --关闭本地数据库服务
     
    mysql -uroot -p(mysql -hlocalhost -uroot -p)      --以root权限连接数据库,不需用户名
     
     
    quit ;(或exit;)                        --用户退出
     
     
    mysql --user root --password               --另外一种登录方式
    或者:mysql --host localhost --user root --password              --        mysql --host [主机] --user root --password,主机默认在本地,因此不加主机地址就变成了上面的形式
    3.sql语句:
    show databases;  (show databasesg )                --输出已经建立的数据库
    desc 【表名】;                        --显示表结构
     
    为新建的数据库建立一个账号(用户)拥有对该数据苦的所有权限:
    grant all on dbtest.* to "neo"@"localhost" identified by "truman";                      ---用户名:neo 密码:truman
    注:如果用户已经存在那么红色部分就应该去掉,因为会覆盖原来用户的密码;蓝色部分值该数据库所有的表
     
     
    mysqldump -uroot -p dbtest>e:/a.sql
    备份失败!暂时不知道原因!
     
     mysql -uroot -p【数据库名】<【绝对路径】             ----在控制台调入外部sql文件到指定数据库下执行
     
     
    source e:/a.sql                            ----在mysql下读取执行外部sql脚本
     
    show tables;                              --显示当前数据库中表的信息
     
    create database 【数据库名】default character set utf8;                     ----------创建库的同时设置默认的字符集(红色的部分设置字符集,也可以在建表或设置字段时设置表的默认字符集)
    注:字符集的应用情况采用就近原则!
     
     
    alter table 【表名】 modigy 【列名】【类型】;                 ---------------------------如alter table g modify price decimal(6,2);
                   
     
    insert into g(price) values('300.89');                    -------------插入数据
     
    select version();                       ---------------显示版本信息
    select database();                 --------------------显示当前数据库
    set @x=2;                     -------------设置一个变量值为2
    select @a*100;            --------------输出一个变量*100的值
     
    select * from stu where sname='李%';                              --------------检索出姓李的人的信息(模糊查询)
     
    select *from stu where sname like '%李%';               ---------------------查询sname字段中含有李的信息
     
    select if(sex,"男","女"),sname from stu;                       -----------------------sql中的过程判断语言
     
     
    select if(sex,'男','女') as stusex,sname from stu;                      ---------取别名,as可省略
     
    select * from stu where sname like "%李%" and sex="0";                --------------and 且
     
     
     
    select concat("姓名:",sname," 性别:",if(sex,"男","女")," qq:",qq) as 连接字符串 from stu;             -----------------连接字符串
     
    alter table stu add birthday date;                   -----------追加一个字段到表中
    update stu set birthday="1990/2/23";           -----------为所有stu的barth初始化一个值
    select * from stu limit 2;                                 ------------限制拿到两条天数据
     
    select * from stu order by id desc limit 3;                  ----------按照id由高到低排序显示(asc有低到高升序)
     
    练习:
    1.查找年龄最大的人
    select * from stu order by birthday asc limit 1;
    2.查找年龄第二大的学生信息
    select * from stu order by birthday asc limit 1,1;           -------------从第2条数据取,包含其实位置那一条共取1条(第n条记录小时的标号是n-1)
    3.查找年龄最大的两个人可以有重复
    select *from stu  where birthday <=(select birthday from stu order by birthday asc limit 1,1);        --------用子查询(asc可以不写,默认的)
    4.查找学生都是哪一年生的
    select  distinct year(birthday) from stu;              -----------------distinct 完成去除重复的工作
    show character set;                       -----显示mysql支持的字符集
     
    show create table demo1;                     ----------------------显示表字符集情况
     
    select length(name),length(name1) from demo1;                     ------------------length()读字节数
     
    select char_length(name),char_length(name2) from demo1;    -------------------char_length()读字符数
     
    show collation;                            ---------显示字符集校对规则
     
    create table demo2(name1 varchar(30) character set utf8 collate utf_bin,name2 varchar(30) character set utf8 collate utf8_general_ci);        ----校对规则不同
     
     
    create table demo3(name1 binary(3),name2 char(3)) default character set utf8;
    show create table demo3;
    insert into demo3(name1,name2)values('a','a'),('中','中'),('中r','中r'),('中国','中国'),('中国人民','中国人民');
    select *from demo3;
     
     
     
    show variables like "%character%" ;                ----输出数据库跟当前跟字符集相关的环境变量
     
     
    有关字符集的一些问题:
    1.客户端(命令行客户端、可视化界面客户端、jdbc方式等)发送脚本
    2.字符集转换:
    客户端发送sql脚本的字符集->连接字符集(和脚本字符集一致)->数据库想用字段字符集
    3.进行匹配。
     
    以命令行客户端为例:
    1.原来是gbk,我们改成utf8:
    set names utf8;               ----相当于设置了下图高亮的三个环境变量,但实际上面客户端的属性中的字符集并没有变化,结果是服务器会被欺骗!
    注:这种设置方法是不被推荐的!建议分开来设置!
    set character_set_client='utf8';
    set character_set_connection='utf8';
    set character_set_results='utf8';
     
     
    修改前:
    修改后:
     
    PL/SQL部分
     
  • 相关阅读:
    JavaScript--Promise(1)
    JavaScript--创建对象
    JavaScript--JSON
    JavaScript--generator
    JavaScript--闭包(1)
    JavaScript--sort()
    JavaScript--filter()
    JavaScript--map()&reduce()
    JavaScript--map&set
    3.11
  • 原文地址:https://www.cnblogs.com/eli01/p/3559767.html
Copyright © 2020-2023  润新知