数据库基础
SQL: Structured Query Language, 结构化查询语言(数据以查询为主: 99%是在进行查询操作)
SQL分为三个部分
DDL: Data Definition Language, 数据定义语言, 用来维护存储数据的结构(数据库,表), 代表指令: create, drop, alter等.
DML: Data Manipulation Language, 数据操作语言, 用来对数据进行操作(数据表中的内容), 代表指令: insert, delete,update等: 其中DML内部又单独进行了一个分类: DQL(Data Query Language: 数据查询语言, 如select).
DCL: Data Control Language, 数据控制语言, 主要是负责权限管理(用户), 代表指令: grant,revoke等
Mysql数据库
Mysql数据库是一种c/s结构的软件: 客户端/服务端, 若想访问服务器必须通过客户端(服务器一直运行, 客户端在需要使用的时候运行).
Mysql服务器对象
将mysql服务器内部对象分成了四层: 系统(DBMS) -> 数据库(DB) -> 数据表(Table) -> 字段(field)
SQL基本操作
库操作
SHOW DATABASES;
CREATE DATABASE mydatabase CHARSET utf8;
SHOW CREATE DATABASE mydatabase;
ALTER DATABASE test CHARSET utf8;
DROP DATABASE test;
use mydatabase;
表操作
CREATE TABLE class(
name VARCHAR(10),
room VARCHAR(10)
)charset utf8;
SHOW TABLES;
SHOW TABLES LIKE '%s%';
SHOW CREATE TABLE student;
DESC class;
DESCRIBE class;
SHOW COLUMNS FROM class;
RENAME TABLE student TO my_student;
ALTER TABLE my_student CHARSET utf8;
ALTER TABLE my_student ADD COLUMN id INT FIRST;
ALTER TABLE my_student MODIFY number char(10) AFTER id;
ALTER TABLE my_student change gender sex VARCHAR(10);
ALTER TABLE my_student DROP age;
中文数据问题
insert into my_student values(5,'itcast0005','张越','男');
SHOW CHARSET;
SHOW VARIABLES LIKE 'character_set%';
校对集
show collation;
create table my_collate_bin(
name char(1)
)charset utf8 collate utf8_bin;
create table my_collate_ci(
name char(1)
)charset utf8 collate utf8_general_ci;
insert into my_collate_bin values('a'),('A'),('B'),('b');
insert into my_collate_ci values('a'),('A'),('B'),('b');
select * from my_collate_bin order by name;
select * from my_collate_ci order by name;
alter table my_collate_ci collate = utf8_bin;
alter table my_collate_ci collate = utf8_general_ci;