1、什么是mysql数据库
mysql数据库时一种关系型数据库。数据库是按照数据结构来组织、存储以及管理数据的仓库,每个数据库都有一个或者多个不同的api用于创建、访问、管理、搜索复制数据
我们也可以在文件中存储数据,但是文件存储数据读写数据的书读2较慢,独立性不高,冗余性大。所以我们将数据多谢在关系型数据库中,使用关系型数据管理系统(RDBMS)来存储数据。所谓关系型数据库,就是建立在关系模型上的数据库。
RDBMS的特点
1、数据以表格的形式呈现
2、每行数据表示一条记录
3、每列为记录所对应的属性
4、许多的行许多的列组成一张表
5、多张表组成一个database
2、数据库操作
1、连接数据库
mysql -u root -p
2、查看数据库
show databases
2、切换数据库
use 数库名
4、创建数据库
mysql中不支持修改数据库名 但是可以修改字符集
CREATE DATABASE sthooldb CHARSET utf8
5、删除数据库
DROP DATABASE sthooldb
3、表的操作
1、创建表
创建表的基本语法结构
create table 表名(列名)
create table [if not exists] `表名`(
'字段名1' 列类型 [属性][索引][注释],
'字段名2' 列类型 [属性][索引][注释],
#...
'字段名n' 列类型 [属性][索引][注释]
)[表类型][表字符集][注释];
-- 添加约束
-- 主键约束 不能为空 唯一约束 检查约束 外键约束
CREATE TABLE students(
-- 主键 唯一且不能为空
NO INT PRIMARY KEY AUTO_INCREMENT COMMENT'学号',
NAME VARCHAR(6) NOT NULL ,
gebder CHAR(1),
address VARCHAR(10),
age CHAR(3) CHECK(age>0), -- 检查约束
tel CHAR(11)
)
1、列类型
在创建表时。列的类型可以有以下几种
varchar int float data.....
2、数据字段属性
- unsigned:无符号的 声明该数据列不能为负数
- zerofill:0填充的 不足位数的用0填充
- auto_increment:自动增长的 一般可以用于id等
- null和not null :表示改列可以为空或者不可为空
- default:默认值 在定义表时可以设置默认值
- primary key:主键
- unique:唯一性 不可重复
3、显示表结构
desc 表名
4、删除表
DROP TABLE IF EXISTS students
5、修改表名
RENAME TABLE 旧表名 TO 新表名
6、复制表结构
-- 复制表结构 不复制数据
CREATE TABLE a LIKE b
7、添加字段
alert table 表名 add 字段名 列类型(属性)
alert table users add sex varchar(10) default'男';
--一次性添加多个字段
ALTER TABLE users ADD `tel` VARCHAR(200), ADD `address` VARCHAR(200);
8、修改字段
alert table user modify sex varchar(8)
9、删除字段
alert table users drop tel ,password,sex;
4、数据库的表的增删改查
1、插入数据
-- 插入数据
INSERT INT