MYSQL学习笔记 第二讲:数据库的基本操作

第二讲:数据库的基本操作

 

1.SQL:结构化查询语言(Structured Query Language)

     分类:针对操作对象的不同,分成不同的语言

             ①数据操作(管理)语言(DML)

             ②数据定义语言(DDL):对保存数据的格式进行定义

             ③数据库控制语句(DCL):针对数据库软件服务进行操作

2.数据库操作

            ①创建数据库:create  database db_name[数据库选项];

               说明: ⅰ.语句要求使用语句结束符;来结束.

ⅱ.标识符(数据库名)命名规则,大小写取决于当前操作系统(认为是区分的),见名知义,推荐使用下 划线方式

ⅲ.标识符的字符:可以使用任意字符、数字、特殊符号甚至是中文,但是一些特殊的组合,例如纯数字、特殊符号、包括mysql内部关键字,应该使用标识符限定符来包裹,限定符:反引号 `.

设置编码格式:set names gbk;

            ②数据库查询:

                           ⅰ.查看当前存在的数据库:show databases;

                           ⅱ.查看数据库的创建语句:show create database db_name;

            ③删除数据库:drop database db_name;

            ④修改数据库:

                           ⅰ.修改数据库信息:alter database db_name[修改指令]

                            注:修改指令:数据库属性修改.

                           ⅱ.修改数据库名:简单的直接修改目录名;

                                                         将数据内容全部导出,新建一个数据库,将内容导入,删除旧的数据库

3.表操作

         数据库是表的容器,表必须属于某个数据库,进行表操作,都会指定当前默认数据库。可以通过 . 语法,指明数据表所属的数据库,库.表(database.table)。

            ①创建表:create table tbl_name(列结构)[表选项]

                   ⅰ.先分析,需要保存的实体数据,拥有哪些属性,这些属性如何保存。

                   ⅱ.列定义:列名  列的数据类型   [列的属性(约束)]

                   ⅲ.选择当前的数据库:use db_name;

                    注:表名前缀:为了区分相同逻辑表名的不同应用,给逻辑表名增加前缀,形成真实表名。

            ②查表

                   ⅰ.有哪些表:show tables [like 'pattern'];

                        其中like pattern部分,表示只获得某种规则的表名,同时适用于databases

                        例:show tables like 'exam_%';显示以exam开头的表,其中%称之为通配符,表示任意字符的任意个数的组合

                   ⅱ.查看表的创建信息:show create table tal_name;

                       注:可以使用\G来作结束符。

                   ⅲ.查看表结构(描述表结构):describe tbl_name;(可简写为:desc tal_name).

                    说明:数据库对应目录,显然数据库内容对应的应该是目录的内容、文件。

            ③删除表:drop table tbl_name;

                    注:如果表不存在,不能删除,会报错误,可以通过以下来解决:

                          drop table if exists tal_name;(判断表是否存在,然后删除,同样适用于数据库)

            ④修改表

                   ⅰ.修改表名:rename table old_tbl_name to new_tbl_name;

                       注:支持修改多个表,中间用 、分割;

                              支持跨数据库重命名:rename table old_tbl_name to new_db_name.tbl_name;

                            (将一个表剪切到另一个数据库,可以用于给数据库重命名)。

                   ⅱ.修改列定义:alter table tbl_name[add|modify|drop|change]

                        增加一个新列:add 新列的定义

                             例:alter table exam_student add score int;

                        修改一个列的定义:modify 列定义

                             例:alter table exam_student modify stu_no varchar(40);

                         删除一个列:drop 列名

                             例:alter table exam_student drop score;

                         重命名一个列:change old_column 新列的定义

                              例:alter table exam_student change score fenshu int; 

                  ⅲ.修改表选项:alter table tbl_name 表选项;

                         例:alter table exan_student character set utf8;

4.数据操作(CRUD:create,read,update,delete)

           ①创建数据

                   insert into 表名(字段列表) values(值列表);

                     说明:如果要插入的值为所有字段,可以省略字段列表,但值的顺序要与表中字段一致。

           ②查询数据

                    select 字段列表 from 表名 查询条件;

                      说明:字段列表可以用 * 代替,表示所有字段;

                                 查询条件可以省略,表示所有记录都获得,相当于where 1;(1表示永远成立,相当于默认);

                      例:select * from exam_student where score>=72;

           ③删除数据

                     delete from 表名 条件;

                       例:delete from exam_student where score>=72;

                       说明:删除需要在逻辑上严格给定条件,否则容易造成数据误操作,导致损失,语法上可以没有where;

                                 如果需要删除所有数据,使用where 1;

           ④修改数据

                    update 表名 set 字段 = 新值,...条件;

                      例:update exam_student set score=100 where score>60;

5.字符集

           显示指定字符集:show variables like 'character_set%';

6.校对规则

          每一套编码字符集都有与之相关的校对规则,校对规则:在当前编码下,字符之间的比较顺序什么。

          每个字符都支持不定数量的校对规则,可以通过如下操作:show collation;

          ci:不区分大小写

          cs:区分大小写

          bin:字节比较

          格式:字符集_地区名_比较规则(ci、cs、bin)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值