RDBMS:关系型数据库管理系统
数据库管理系统结局的问题:持久化存储、优化读写、保证数据的有效性。
MySQL:网络化的跨平台关系型数据库系统
SQL语言:
1)数据定义语言(DDL-data definition language):定义数据库的各种对象
2)数据操作语言(DML-data manipulation language):对数据进行操作,包括增删改查
3)数据控制语言(DCL-data control language):数据的一致性、完整性、安全性控制以及数据库的备份和恢复
**一.创建数据库:**create database db_name
要点:数据库名称规范:
1)不得与现有数据库重名。
2)名称可包含数字、字母、下划线、@、#和$
3)首字母不得是数字和$字符
4)不能使用MySQL的保留字
5)不能有空格和其他特殊字符
6)长度小于128位
二、删除数据库:drop database db_name
MySQL操作
** 语句:**
1:连接数据库: mysql -uroot -p 或者 mysql -uroot -pmysql
2: 退出数据库: exit /quit/ctrl+d
3: 查看当前所有数据库:show databases; show create database 数据库名;
4:显示时间:select now();
5: 显示当前版本: select version();
6: 创建数据库:create database 数据库名;
create database 数据库名 charset=utf8;
7. 删除数据库: drop database 数据库名;
删除特殊字符 drop database ’数据库名’; (tab键上面的按键)
8: 使用数据库: use 数据库名;
9: 查看当前使用的数据库:select database();
数据表操作
1:查看当前数据库中所有的数据表: show tables;
2: 创建一个新的表:create table 表名(字段 类型 约束[,字段 类型 约束]); 比如:create table xxxx(id int primary not null auto_increment, name verchar(20))
3: 查看当前数据表的格式: desc 数据表名;
4: 插入一个记录: insert into 表名 values(字段,类型,约束);
4:查看插入的记录: select * from 表名;
举例说明:
#创建一个数据表students
mysql-> create table students(
id int unsigned not null auto_increment primary key,
name varchar(30),
age tinyint unsigned not null,
sex varchar("男","女")default "保密",
height decimal(5,2) unsigned
);
#查看当前表中的内容
mysql->desc students;
#插入一个记录
mysql-> insert into student value(0,"zhangsna",23,"男",180.00);
#查看插入的记录
mysql-> select * from studdents;
修改数据表
1.添加字段
alter table 表名 add 字段 类型 约束;
2 修改
不重命名版本:alter table 表名 modify 字段 类型 约束;
重命名版本:alter table 表名 change 原名 新名 类型及约束;
3. 删除字段:alter table 表名drop 字段名;
4. 删除表:drop table 表名;
数据的增删改查(crud)
1.插入:
全部插入:insert into 表名 values(。。。),(。。。);
部分插入:insert into 表名 (列1,列2…) values(值 1 ,值2 …);
2:修改:
update 表名 set 列1 = value1, 列2 = value2;
3.删除:
delete from 表名 where 条件;