mysql基础操作

一、数据库

  1、定义:对大量的信息进行管理的高效的解决方案,按照数据结构来组织、存储和管理数据的载体

    数据库系统 = 数据库管理系统 + 数据库 + 数据库管理员

    DataBase System (DBS)  = DataBase Management System (DBMS) + DataBase(DB) + DataBase Administrator(DBA)

  2、SQL语言

    SQL:Structured Query Language,结构化查询语言,是一种关系型数据库操作语言,也是一种数据库编程语言

  3、分类

    1)DDL:Data Definition Language,数据定义语言

      主要是用来定义和维护数据库的各种操作对象,比如库、表、索引、视图,操作数据库的库和表的逻辑结构和存储结构

    2)DML:Data Manipulation Language,数据操作语言

      主要是对表中的记录进行增删改查的操作

    3)DQL:Data Query Language,数据查询语言

    4)DCL:Data Control Language,数据控制语言

      主要是对数据库进行统一管理和统一控制,比如并发控制,存取控制,安全控制等;具体的有数据库的权限管理(创建用户,给用户分配权限,回收权限等),数据的

    备份与恢复等!

二、开启MySQL服务器和客户端连接服务器

  开启MySQL服务器:

    1,  通过windows管理的方式进行开启(运行services.msc,找到mysql开启)

    2,  通过dos命令行开启(net start mysql

    3,  直接使用bin目录下的mysqld来完成(mysqld --defaults-file=”D:webmysqlmy.ini”)

  客户端连接服务器:

    cmd下,输入:mysql –hlocalhost –P3306 –uroot –p回车,Enter password输入密码,回车即可连接服务器

    通过help或h获取MySQL的帮助信息,另外,cmd下,Ctrl+C代表退出,在操作时特别小心,而Ctrl+V不起作用。

三、数据库操作

  1、创建数据库(增)

    create database 数据库名[数据库选项]

  数据库选项主要有两个:一个是字符集,一个是校对规则

  default charset gbk;  collate 校对规则名字;(一般使用默认)  如:create database php2016 default charset utf8 collate utf8_bin;

    每次创建一个数据库,都会在data目录下创建一个新的目录,新目录的名字就是数据库的名字

  数据库名的命名规则:

    1)数据库是否区分大小写取决于当前的当前的操作系统,原则上,认为区分大小写

    2)数据库名最好采用下划线方式,尽量做到见名知意

    3)原则上数据库名可以是使用任意的字符,甚至是中文,但是一些字符(比如中文、关键字、纯数字),应该使用标识限定符(即是按下键盘的Esc下面的键)来进行包

       裹,不建议使用特殊字符的库名。

  由于客户端默认的编码是gbk,而服务器默认的编码是utf8,因此需要设置命令:set names gbk;

  2、查看数据库(查)

    1)查看当前有哪些数据库:show databases;

    2)查看创建的数据库语句:show create database 数据库名;

  3、删除数据库(删)

    drop database 数据库名;     慎重,将会删除此数据库的所有数据

  4、修改数据库(改)

    数据库的名称不可以修改!只能修改库选项信息

    alter database 数据库名 新的库选项;  如:alter database php2016 default charset gbk;

    修改数据库名:先把当前数据表导出,创建一个新的数据库,把导出的数据表再全部导入,删除以前的数据库

四、数据表操作

  有关数据表的任何操作都需要先指定其所属的数据库!

    显示的指定数据库:create table php2016.test(number int);

    指定默认的数据库:use php2016;  指定之后,后面的操作如果省略库名,则默认操作当前数据表

  1、创建数据表(增)

    create table 表名(

           字段1  字段1类型,

           字段2  字段2类型,

           字段3  字段3类型,

           字段n  字段n类型

    )表选项信息;

  如果肯定会涉及到中文,表选项可以一同设置:default charset gbk;  表选项信息其实就是规定表的字符集存储引擎

  2、查看数据表(查)

    1)  查询当前数据库下有哪些数据表:show  tables;

    2)  模糊查询:show tables like 'class%';  查找带有class开头的数据表名

         数据表名带引号通配符:_可以代表任意的单个字符,%可以代表任意的字符

    3)  查看创建的表的语句:show create table 表名;  有时用G来取代分号来查看更有条理的结果

    4)  查看表结构:desc 表名;

  3、删除数据表(删)

    drop table 表名;

    如果删除一个不存在的表会报错,使用完整语法drop table if exists 表名; 在删除之前需要进行一次判断,判断该表是否存在,如果不存在,既不执行也不报错!

  

  4、修改数据表(改)

    修改命令以(上级命令+下级命令)来记忆

    上级命令:alter  table  表名

    1)  修改表名

      alter table 旧表名 rename to 新表名;  或者:rename table 旧表名 to 新表名;

    可以利用rename语法实现数据库的重命名:

      ①  先创建一个新的数据库

      ②  把旧数据库下所有的表全部rename到新数据库下

      ③  删除旧数据库

    2)  修改列定义

      增加:add

      删除:drop

      重命名:change

      修改:modify

    ①  增加一列:alter table 表名 add 新列名 字段类型;

      alter table php_test add age tinyint;

      alter table php20 add (age int,sex char(1));

    ②  删除一列:alter table 表名 drop 字段名;

      alter table php_test drop score;

    ③  修改字段类型:alter table 表名 modify 字段名 新的数据类型;

            alter table php_test modify age int;

    ④  修改字段排序:alter table 表名 modify 字段名 数据类型 first;

            alter table php_test modify  number  tinyint first;

            alter table 表名 modify 字段名1 数据类型 after 字段名2;  把字段名1放在字段名2的后面

            alter table php_test modify name varchar(20) after number;

    ⑤  重命名字段类型:alter table 表名 change 原字段名 新字段名 新字段类型;

      alter table php_test change number id int;

  3)  修改表选项

    ①  alter table 表名 表选项信息;

      alter table php_test default charset gbk;

    ②  alter table php_test  engine Myisam;  -- 修改存储引擎

      默认InnoDB

五、数据操作

  1、  插入数据(增):insert into 表名(字段列表) values(值列表);

    insert into php22(username,age) values

      ('张三',23),

      ('李四',24),

      ('王五',25);

  2、  查询数据(查):select *|字段列表 from 表名[查询条件];

    select * from student where 1;

  3、  删除数据(删):delete from 表名[删除条件];

    delete from student where 1;where 1表示条件都满足,即全部删除,删除条件最好不省略

  4,  修改数据(改):update 表名 set 字段1=新值1,字段2=新值2……[修改条件];

    update php20 set username = '张山' where username = '张三';

    update student set stu_age = stu_age + 1 where 1;

六、总结数据库三步走:

  1、create database php22 default charset gbk;

  2、set names gbk;

  3、use php22;

 操作命令较多,多复习多使用,重复多了自然就记住了。

在登陆数据库时,使用mysql --default-character-set=latin1 -u用户名 -p密码,可以解决数据的对齐问题。

原文地址:https://www.cnblogs.com/Hansen32/p/6098740.html