数据库6.22

三大主流关系型数据库:

Oracle        sql server    MySQL





专业术语:

数据库(database):存储数据的仓库,简称为DB

数据库管理系统(database manger system),DBS

数据库系统(database system),DBS     DB+DBS====>  (软件)

MySQL是典型的关系型数据库

mysql安装:

             1、.msi   的安装:

                     下一步

              2、.zip 压缩包的安装

                         1、官网下载

                          2、解压压缩包(不要有中文和特殊字符)

                          3、修改my.ini (随机复制其中一个)文件


修改basedir=mysql的主目录

修改datadir=mysql的主目录\data

5、将mysql的bin配置到path中:

此电脑(右键)===>属性=====>高级===>环境变量====>path(上面是当前用户,下面是登录用户   win7 和win8需要在最后打个英文分号   然后将路径配置过去)

6、右键单击以管理员权限打开        将位置切换到mysql安装路径的bin目录下

7、注册服务:mysqld install  安装到电脑上的/  mysql  remove  移除(必须把服务先停止)

 8、启动服务:

               (1)、使用服务面板,手动启动

               (2)、window下启动服务(不用管位置)  net   start/stop/(linux下启动服务    service xxx  start/stop/restart/status)

                 (3)、进入mysql

liunx下安装:

          1、离线下载

           2、--atp(atp-get):

                        ubuntu:   sudo  apt-get install  mysql-server(服务器)mysql-client(客户端)


必须要输,以后的密码

                         CenterOS:sudo yum  install  mysql-server(服务器)mysql

退出mysql:

exit、quit、\q、Ctrl+C

常见的mysql命令:

                           show databases; #此命令返回当前DBS系统中所有数据库

                           use dbName; #表示进入到对应名称的数据库中去

                            show tables; # 查看当前数据库下的所有表

                            desc/describe board;    # 查询一张已经存在表的结构

                            select * from tableName; # 表示查询tableName表的所有数据;

sql(structured query language)结构化查询语言

    sql:

         DDL(database defined language):数据库定义语言

         create drop show alter……

         DML(database Manipulation Language):数据库操作语言

         CRUD(create Retrieve update delete)

         insert

         update

         delete

   select---DQL

        DCL(database controller language):数据库控制语言

     grant invoke

创建数据库:

      create [database/table/index/function/cursor/view] 名称

      create database db_py1805 [default charset=utf8 ]

删除数据库

      drop [database/table/index/function/cursor/view] 名称

      drop database db_py1805;

创建表:

      create table 表名(

                            字段1 类型 [约束条件],

                             字段2 类型 [约束条件],

                               ……

                               字段n 类型 [约束条件]

                         )

create table t_user (

id int ,

username varchar(50),

age int,

gender varchar(5)

)

insert插入语句

insert into 表名(字段1,字段2,……,字段n) values(值1,值2,……,值n);

insert into t_user(id,username,age,gender) values(1,"zs",16,'nan');


配置mysql的远程登录:

1、到mysql 数据库   use  mysql

2、查询user    select   user from    user;


在没有配置远程的情况下:  localhost  |root

3、修改root用户(现在只有一个root用户  所以修改   但一般情况下 只修改对应帐号)           update user  set   host=“%”   where  user=“root”;


将bind-address 注掉

在修改之后:还需要进入配置文件修改配置文件

4、修改配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf     找到43行

                                                                                        bind-address注释掉

5、重启mysql


创建表格:

create table t_hero (

                                id int primary key auto_increment,(主键    不能重复,不能为空  自动维护)

                                name varchar(50) not null,(不能为空)

                                age int default 40,(如果填入的不写,则默认填写40岁)

                                  gender varchar(5),

                                  nikename varchar(50) unique, -- 不能重复,

                                  address varchar(50),

                                  level int default 100

)

插入:

insert into 表名 values(xxxxx);

insert into 表名(字段……) values(xxxxx);

查询:

select * from tableName;  查询所有


select [字段1,字段2,……,字段n] from tableName;


select   version()  返回当前数据库的版本信息

select  now()返回当前时间

select   database()返回当前所在的数据库

name varchar(30)           lvbgfbjk         小于30的时候自动做成自己的长度

name char(30)            lvbgfbjk         小于30的时候也占30


日期date(只能表示年月日) time(只能表示时分秒)    datatime  (年月日时分秒)



grant语句的使用:

grant all on db_py05.* to 'xxx'@'localhost' identified by '543245';

grant all(权限) on db_py05(某个数据库).*(某张表) to “xxx”(用户名称     表示创建)@'localhost'(表示只能远程登录  %    表示可以远程登录) identified by '55655'(密码);

grant all on *.* to 'root'@'%' identified by '123456';


更新

update tableName set 字段1=新值,字段2=新值,字段3=新值 [where condition]

update tableName set 字段1=新值,字段2=新值,字段3=新值 [where condition] 必须跟条件,否则全表更新


删除

delete from tableName  [where condition]   必须带条件,不带条件则全表清空

truncate  [table]  tablename; 删除 慎用    不可逆的 常规手段是不可恢复的

修改

alter的操作

   修改类型    alter table t_user modify type text;


 增加一个字段     alter table t_user add type int;

alter table t_user add (添加)type(列名字) int(类型);


删除一个字段  alter table t_user drop type;

数据库的备份:

               mysqldump:在bin目录下

                          mysqldump 命令

                                mysqldump –u root –p dbname > 保存路径.sql

                                  mysqldump –u root –p db_bbs > d:/db_bbs.bak.sql将数据库db_bbs以脚本的形式保存到D盘]

将sql脚本还原为数据库

               mysql –u root –p dbname < 保存路径

mysql 的单表条件查询:

1、查询id为1的用户:select * from t_user where id=1;



2、查询id大于等于3的用户:select * from t_user where id>=3;


3、查询id不为3的用户:

                      select * FROM t_user WHERE id != 3;

                       select * FROM t_user WHERE id <> 3;

4、查询年龄大于10并且姓名为张三的人的性别:

                         SELECT gender FROM t_user where age > 10 AND username = '张三';

5、查询年龄大于等于20 或者性别是男的人的详情

SELECT * FROM t_user WHERE age >= 20 OR gender = '男';

6、查询性别为空

注意:在sql中,判断为空,或者判断不为空,需要使用is,而不是等于符号

SELECT * FROM t_user where gender is null;

SELECT * FROM t_user where gender is not null;

7、查询所有人的年龄的和

SELECT SUM(age) FROM t_user;

8、找出年龄最大的那个哥们

SELECT max(age) FROM t_user;

9、找出年龄最大的那个姐们

SELECT min(age) FROM t_user;

10、求当前所有人的平均年龄

SELECT avg(age) FROM t_user;

11、 共有多少人?

SELECT count(*) FROM t_user;

12、共有多少人?

SELECT count(*) as counts FROM t_user;

13、 共有多少人?

SELECT count(*) counts FROM t_user;

14、年龄大于16 并且 年龄小于 20岁

SELECT * FROM t_user where age >= 16 AND age <= 20;

15、年龄大于16 并且 年龄小于 20岁

SELECT * FROM t_user where age BETWEEN 16 AND 20;

16、 查询年龄为5 8 16 20 30 50的人

SELECT * from t_user where age in (5,8,16,20,30,50);

17、 查询年龄为5 8 16 20 30 50的人

SELECT * from t_user where age not in (5,8,16,20,30,50);

 模糊查询  like

1、 查询姓王的人

SELECT * FROM t_user where username LIKE '王%'

2、 查询名称中第二个字是建的

SELECT * FROM t_user where username LIKE '_建%'

SELECT * FROM t_user where username LIKE '%哥%'

SELECT * FROM t_user;

3、 排序

-- 查询所有用户,默认使用年龄升序排列

SELECT * FROM t_user order by age ;

SELECT * FROM t_user where age > 10 order by age asc;

SELECT * FROM t_user where age > 10 order by age desc;

SELECT * FROM t_user where age > 10 order by age desc, id asc;

4、分组

 统计当前男生有多少人,女生多少人

SELECT count(gender) FROM t_user;

SELECT gender,count(*) FROM t_user group by gender;

SELECT age FROM t_user GROUP BY age;

 通过性别进行分组,得到组员多余3人的

having 必须是出现group by之后,它是对分组结果进行筛选

SELECT gender,count(*) as counts FROM t_user group by gender having counts > 3;

SELECT * FROM t_user LIMIT 5;

SELECT * FROM t_user LIMIT 0,2;

SELECT * FROM t_user LIMIT 2,2;

SELECT * FROM t_user LIMIT 4,2;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351

推荐阅读更多精彩内容