一、数据库操作语言
数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言。
SQL 的主要功能是和数据库建立连接,进行增删改查的操作。SQL是关系型数据库管理系统的标准语言。
SQL 语言的作用:
1. 数据定义语言 DDL(Data Definition Language) 。用于创建数据库,数据表。
2. 数据操作语言 DML(Data Manipulation Language) 。用于从数据表中插入、修改、删除数据。
3. 数据查询语言 DQL(Data Query Language) 。用于从数据表中查询数据。
4. 数据控制语言 DCL(Data Control Language) 。用来设置或修改数据库用户或角色的权限。
使用 SQL 操作数据库时,所有的 SQL 语句都以分号结束。(切换数据库时可以不用分号)
在 SQL 语句中,不区分大小写,编写 SQL 语句时可以根据情况用大小写的区别来增加可读性。
二、创建数据库
(1) 查看当前的数据库命令:show databases;
刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。通常情况下,我们不会直接使用这四个数据库,但千万不要把这四个数据库删了,否则会带来很多不必要的麻烦。如果不小心删了,建议是重新安装 MySQL ,在重装之前把自己的数据迁移出来备份好,或者从其他服务器上迁移一个相同的数据库过来。
(2) 创建数据库命令:create database test;
(3) 创建数据库时设置字符编码:create database test character set utf8; 也可以缩写:create database test charset utf8;
character set 可以缩写成 charset ,效果是一样的。
直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。
(4) 修改数据库编码:alter database test character set utf8;
如果一个数据库的编码方式不符合使用需求,可以进行修改
(5) 进入或切换数据库:使用 use 数据库名 进入或切换数据库
进入到test:use test; 切换至test1:use test1;
(6) 显示当前数据库: select database();
进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。
三、创建数据表
(1) 查看当前数据库中的表:使用 show tables;查看当前数据库中有哪些表。
新创建的数据库是空的。
(2) 创建表:create table test_table(id INT, name CHAR(20));
在 test 数据库中创建了一个叫 test_table 的数据表,这张表有两个字段 id,name。为了增加 SQL 的可读性,字段名我用的是小写,字段类型用大写。
comment ' ' 可以添加说明;
MySQL可以换行,但每个元素声明之间必须要有逗号隔开,否则就会报错,分号;加回车就可以执行代码了.
表名和字段尽量使用``括起来,所有的语句后面加逗号,最后一个不加,字符串使用单引号括起来,主键的声明一般放在最后,便于查看,不设置字符集编码的话,会使用MySQL默认的字符集编码Latin1,不支持中文,可以在my.ini里修改
格式:
CREATE TABLE IF NOT EXISTS `student`(
'字段名' 列类型 [属性] [索引] [注释],
'字段名' 列类型 [属性] [索引] [注释],
......
'字段名' 列类型 [属性] [索引] [注释]
)[表的类型][字符集设置][注释]
(3) 显示表信息:用 show create table 表名; 来显示已创建的表的信息。show create table test_table;
使用 show create table 表名; 可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。
如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。
(4) 给表增加字段:使用 alter table 表名 add 字段名 数据类型; 为已存在的表添加一个新字段。alter table test_table add color CHAR(20);
(5) 删除表的字段:使用 alter table 表名 drop 字段名; 删除一个表中已存在的字段。alter table test_table drop color;
(6) 修改字段的数据类型:使用 alter table 表名 modify 字段名 数据类型; 修改表中现有字段的数据类型。alter table test_table modify name VARCHAR(12);
(7) 修改字段的数据类型并且改名:使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。alter table test_table change name pname CHAR(18);
四、删除数据库和数据表
删除数据库:drop database test;
删除数据表:drop table test_table;
删除表和删除库都是很危险的事,如果是自己不知道的表和库不要轻易删除,否则挽回需要巨大成本!!!