zoukankan      html  css  js  c++  java
  • mysql 首次安装后 简单操作与语句 新手入门

    首先cd到安装目录中bin路径:
    这是我的安装路径
    以管理员身份打开cmd(防止权限不足)
    cd E:\>cd E:\mysql\mysql-5.5.40-winx64\bin

    首次安装需要输入 
    mysqld.exe -install

    启动mysql
    E:\mysql\mysql-5.5.40-winx64\bin>net start mysql
    MySQL 服务正在启动 .
    MySQL 服务已经启动成功。

    进入数据库
    E:\mysql\mysql-5.5.40-winx64\bin>mysql -u root -p
    密码:111111

    不知道密码的,生成初始密码

    E:\mysql\mysql-5.5.40-winx64\bin>mysqld --initialize

    会在根目录下生成data文件夹,里面有一个.err结尾的文件,记事本打开里面有初始密码。

    修改密码

    E:\mysql\mysql-5.5.40-winx64\bin>mysqladmin -u root -p password 111111

    8.0版本修改密码:

    mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
    创建数据库xiaomi
    mysql> create database xiaomi;

    选择使用数据库

    注: MySQL不会终止命令,直到给一个分号(;)表示SQL命令结束。

    数据类型:int 整型

    tinyint 整型(0-256)

    decimal 浮点型(总位数,小数位数) 例如 decimal(3,1)

    char(X) 定长字符型 例如 char(10)

    varchar(X) 可变长度字符型 例如varchar(10)

    text 大段文本

    binary 二进制(存储照片等)

    具体的没必要多说,只要了解常用的数据类型即可。现在我可以讲讲“Latin”和“utf8”的区别了,如果是在“Latin”字符下创建的数据表,那么一个中文等于两个字符,也就相当于,如果名字是四个字,就要char(8)。但如果是在“utf8”字符下创建的数据表,一个中文等于一个字符,如果名字是四个字,只需要char(4)就够了。

    提醒读者一句,如果用关键字做字段名或者表名,要用反引号

    创建数据表还有一些字段属性的设置,比方说

    null:空

    not null:不为空

    default 'XXXX':默认值

    auto_increment:自动增长

    primary key:主键(主键的特点,不为空,不重复,一个表只能有一个主键,但是一个主键可以由多个列组成)

    这些初学者用不到,讲起来很复杂,所以这里就不讲了,有兴趣的读者可以去百度自行了解。

    2. 查看所有表show tables;

    我在前面就提过,一个MySQL里面有多个数据库,所以,一个数据库里面也可以有多个表,当然,一个表里面也可以有多个数据

    这里因为我只在“test”数据库里创建了一个数据表“stu”,所以显示了一个

    3. 显示创建表show create table XX(表名);

    show create table XX(表名) \G;

    上面两段代码都是显示创建表,只不过显示的样式不同,读者随意选择一种即可

    4. 显示表结构describe(或desc) XX(表名);

    显示表结构就会展示表中有哪些字段,分别是什么类型,有没有默认值,为不为空,哪个是主键

    5. 删除表(删除多个表)drop table XX(表名);

    drop table XX,XX,XX......;

    上面的一句代码是删除一个表,下面的代码是一次性删除多个表

    5.数据的基本操作数据的操作算是整个MySQL中最复杂的部分,虽然概括起来无非就是“增删查改”,但每一项底下包含的内容非常之多,作者在这里只能尽量为大家解释比较重要的操作

    1. 插入数据(增加)insert into XX(表名) (字段1,字段2,字段3......) values (值1,值2,值3.......);

    这里,我插入两组数据,分别是学号为“2016101”,姓名为“李白”,成绩是“83”和学号为“2016102”,姓名为“杜甫”,成绩是“91”的两位同学的信息

    这里还需要给大家做一点补充,如果大家还记得之前我们创建数据表的时候,“id”和“name”都是varchar型,也就是字符串型,字符串型的数据,插入的时候就要加上””

    字段可以和数据库中的字段顺序不一致,但是值和插入字段的顺序必须一致

    插入字段是可以省略的,这时插入的值和数据表的字段顺序和个数必须一致2. 查询数据(查)这里本来应该按照顺序给大家讲删除数据的,但是因为想给的大家看一下插入数据之后,表内变成什么样了,让大家加深印象,所以这里讲查询数据,首先给大家介绍一个知识点——运算符

    比较运算符 >、>=、<、<=、=(比较和赋值都是”=”)、<>(不等于)

    • 逻辑运算符 and(与)、or(或)、非(not)查询该表内的所有数据

    select * from XX(表名);

    举个例子,我们查询stu表下的所有数据,因为我等会讲的例子涉及到“性别”,所以我提前新增了一个字段名叫“sex”

    • 查询该表内某字段的所有数据

    select 字段1,字段2,字段3......(或用"*"代替所有字段) from XX(表名);

    举个例子,我们查询“id”字段底下所有的数据,那么”id“下有哪些数据,就会展现出来

    • 查询某条件的所有数据

    select * from XX(表名)where 字段1 = 值1 and 字段2 = 值2 and ......;

    这段代码的意思是,从某个表中找出满足条件一且满足条件二的数据,例如,我们想要寻找成绩等于91分,且性别为女的学生信息

    这里也可以改成,我们想寻找成绩大于90分或者成绩小于60分的学生信息,那么代码就应该是

    select * from stu where score > 90 or score < 60;

    • 由低到高排序

    select * from XX(表名) order by 字段x asc;(默认就是升序)

    • 由高到低排序

    select * from XX(表名) order by 字段x desc;

    • 按某条件排序

    select * from XX(表名) where 字段x = 值x oreder by 字段x asc(desc);

    • 取前n条数据

    select * from XX(表名) limit n;

    • 从第n条开始(起始位置是0)取m条

    select * from XX(表名) limit n,m;

    • 查询某排序下的前n条数据

    select * from XX(表名) order by 字段x asc(desc) limit n;

    这几条语句之所以不附上例子,是因为考虑到读者如果有耐心看到了这里,那么你应该基本掌握了MySQL的语法,不再需要例子去模仿,只需要告诉你使用什么语句,所以下面的代码也是一样,不再附上例子

    3. 删除数据(删)delete from XX(表名) where 字段x = 值x;

    4. 修改数据(改)update XX(表名) set 字段1 = 值1,字段2 = 值2 where 条件;

    update XX(表名) set 字段1 = 值1;

    下面一条的作用是修改某一字段的所有值,所以不需要加条件

    • 5.聚合函数sum(); 求和 select sum(字段x) from XX(表名);
    • avg(); 求平均值 select avg(字段x) from XX(表名);
    • max(); 求最大值 select max(字段x) from XX(表名);
    • min(); 求最小值 select min(字段x) from XX(表名);
    • count(); 记录数 select count(字段x) from XX(表名);/select max(*) from XX(表名);
    • 在某字段条件下使用函数 select 函数名() from XX(表名) where 字段x = 值x;
    
    
  • 相关阅读:
    iOS图片拉伸技巧
    Swift和OC混合使用
    【转】动态计算UITableViewCell高度详解
    AutoLayout~Label
    【转】初探 iOS8 中的 Size Class
    Objective-C runtime~
    [转]Objective-C中的类和对象(instance)
    Masonry~
    [转] ios学习--openURL的使用方法
    Autolayout~代码实现
  • 原文地址:https://www.cnblogs.com/tansuoxinweilai/p/10050488.html
Copyright © 2011-2022 走看看