数据库--data base--DB
mysql特点:开源免费;体积小安装简单,维护成本低;c++编写;支持多系统
关系型数据库:在数据库里面,表和表是可以发生关系,可以通过某些列的数据关联进行拼接查询,
可以直接通过数据库的内置指令或者语句进行表和表的关联操作,mysql,db2,oracle,sqlwerver
非关系型数据库:在数据库里面,表和表是独立的,但是可以通过一些外部代码让表和表发生关系,
hbase(列模型),redis(键值对模型),mongodb(文档类模型)
启动mysql服务:service mysqld start
查看mysql服务状态:service mysqld status
重启mysql服务:service mysqld restart
停止mysql服务:service mysqld stop
ctrl+c ==》退出数据库
exit;==》退出数据库
quit;==》退出数据库
安装好mysql后首次设置root用户的密码:
mysqladmin -uroot password '123456'
设置密码后登陆MySQL的两种方法:
密码以密文方式:mysql -uroot -p (加回车键,再输入密码)
密码以明文方式:mysql -uroot -p123456
数据类型
1,int 整型,只能保存4个字节的数据,保存的数字范围是-2^31~2^31-1 ±2147483647,超过这个值的数字需要保存要使用bigint型
2,bigint 大数字 保存的范围比int更大,可以保存8个字节的数据
3,float 浮点型,保存小数,4个字节
4,double 浮点型,保存小数,8个字节
5,varchar 可变长字符串,可变长度,最多可以占2^16字节,性能会差点,节约资源
6,char 字符串 保存固定长度的字符串,固定的占用255个字节,查询性能会好点,但是不节约资源
7,date 日期,固定的保存格式 YYYY-MM-DD
约束:
1,primary key 主键约束,不能重复,不能为空
2,auto_increment 自增长约束,可以自动的在对应列最大值+1插入数据,一般是结合主键去使用
3,not null 非空约束,这个字段添加内容时不能为空
4,default 默认值约束,可以定义默认值,当不输入时候自动填入默认值
5,foreign key :外键约束
常见的中文字符在计算机里的编码格式有GBK的汉字占2个字节位,UTF-8的汉字占3个字节位
数据库的操作步骤:
1,进入mysql
2,show databases;==查看当前数据库工具有什么数据库
3,use +库名;==进入数据库
4,create database +新库名;==创建一个新的数据库;
5,create table +新表名(字段名1及类型及约束,字段名2及类型及约束);==创建一个新表,包含字段1和字段2
6,desc +表名 ;==查看表结构
7,show tables; ==》查看当前库有什么表
* select datebase(); ==》查看当前在哪个库操作
8,alter table test rename test1;==》修改表 test表 重命名为 test1表
9,alter table test change id sid int(20);==》修改表 test表 改变 id字段 为 sid字段 int(20),并去掉自增长约束
10,alter table test change sid sid int(20) auto_increment;==》修改表 test表 改变sid字段为sid 数据类型为int(20),增加自增长约束
11,alter table test add class int(10);==》修改表 test表 增加字段class字段,数据类型为int(10),增加的字段默认加在表结构的最后面
12,alter table test add sex varchar(5) first;==》修改表 test表 增加字段sex 数据类型为varchar(5)在表结构的第一位,first表示第一位
13,alter table test add age int(10) after sex;==》修改表 test表 增加字段age 数据类型为int(10)加在sex字段后面
14,alter table test drop sex;==》修改表 test表 删除sex字段
15,alter table test drop age,drop class;==》修改表 test表 删除字段age 删除字段class
16,alter table test add(class int(10),sex varchar(5));==》修改表 test表 增加字段class类型为int(10),增加字段sex类型为varchar(5)
17,alter table test modify sex char(5) after name;==》修改表 test表 改变 sex字段的类型为char(5)以及位置放在name字段后面
*modify和change的区别:
它们都是可以修改表字段的定义,但是change需要写两次字段名,change可以修改字段名,modify不行
|
|