今天继续说数据库
连接mysql
格式:mysql -h 主机地址 -u用户名(一般为root)-t 用户密码
1,连接到本机上的Mysql.
首先打来dos窗口,然后进入目录mysql\bin,再键入命令mysql-u root -p,回车后提示你输入密码,注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
如果刚安装好mysql,超级用户root是没有密码的,直接回车即可进入到mysql中,mysql的提示符是:mysql>
2,连接到远程计算机上的MYSQL
假设远程主机的ip为:110.110.110.110,用户名为root,密码为123456,则输入下面命令:
mysql -h 110.110.110.110 -u root -p123456;(u与root之间可以不用加空格,其他也一样)、
3,退出mysql命令:
exit(回车)
修改密码
格式:mysqladmin -u 用户名 -p旧密码password新密码
1.给root加个密码ab12
首先在dos下进入目录,mysql\bin,然后输入下面命令
mysqladmin -u root -password ab12(因为开始时root没有密码,所以-p旧密码就可以省略不写)
2,再将root的密码改为112233 下面是输入代码
mysqladmin -u root -p ad12 password 112233
数值类型1:
TINYINT : 非常小的数据 -2^7~2^7-1 , 0~2^8-1 1字节
INT : 标准整数 -2^31~2^31-1 , 0~2^32-1 4字节
DOUBLE : 双精度浮点型数 8字节
数据类型2:
UNSIGNED属性 : 无符号的数(正)
ZEROFILL属性 : 宽度(位数) , 当宽度不够时,以0填充.
约束是确保一个表数据的唯一性和完整性
主键是每行的唯一标识符,仅仅通过它就能准确定位到一行,其中主键列在整个表中不能有重复,必须包含唯一的值(不能为NULL)。
外键和主键不一样,每个表中的外键数目不限制唯一性。在每个表中,每一有-~253个外键。唯一的限制是一个列只能引用一个外键。一个列可以被多个外键引用。
如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的。
非空约束 NOT NULL 字段不允许为空
默认约束 DEFAULT 赋予某字段默认值
唯一约束 UNIQUE KEY(UK) 设置字段的值是唯一的 允许为空,但只能有一个空值
主键约束 PRIMARY KEY(PK) 设置该字段为表的主键
外键约束 FOREIGN KEY(FK) 用于在两表之间建立关系,需要指定引用主表的哪一字段
语法:
CREATE TABLE [IF NOT EXISTS]表名(
字段1 数据类型[字段属性|约束][索引][注释],
...
字段n 数据类型[字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
(注:多字段使用逗号隔开 保留字用撇号括起来 单行注释:#.... 多行注释/#....#/)
studentNo INT(4) PRIMARY KEY,
……);
注释 :
id int(11) UNSIGNED COMMENT ‘编号’
)COMMENT='测试表’;
设置字符集编码 :
#省略代码
)CHARSET = 字符集名;
查看表是否存在 :
1.USE 库名;
2.SHOW tables;
查看表定义 :
DESCRIBE 表名;
或 DESC 表名;
1.选中库 USE 库名; 2.DESCRIBE 表名;
注意:避免DOS窗口乱码,可执行SET NAMES gbk;
删除表 :
DROP table [IF EXISTS] 表名;
修改表名 :
ALTERTABLE 旧表名RENAME [TO] 新表名;
添加字段 :
ALTER TABLE 表名 ADD 字段名 数据类型 [属性];
修改字段 :
ALTERTABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];
删除字段 :
ALTER TABLE 表名 DROP 字段名;
添加主键 :
PRIMARY KEY 表名(主键字段);
添加外键 :
FOREIGN KEY(外键字段)
REFERENCES 关联表名(关联字段);
注意 : 若某数值字段指定了ZEROFILL属性,将自动添加UNISGNED属性.
注意 : 查看表当中所有的数据(DOS) : select * from 表名称 ;
字符串类型
CHAR[(M)] 定长字符串 M字节
VARCHAR[(M)] 可变字符串 可变长度
TINY TEXT 微型文本串 0~2(8次方)–1字节
TEXT 文本串 0~2(16次方)–1字节
日期类型
DATE YYYY-MM-DD 1000-01-01~ 9999-12-31
DATE TIME YY-MM-DD hh:mm:ss: 1000-01-01 00:00:00 ~9999-12-31 23:59:59
TIME hh:mm:ss -835:59:59 ~ 838:59:59
TIMES TAMP YYYYMMDDHHMMSS 1970年某时刻~2038年某时刻,精度为1秒
TEAR YYYY格式的年份 1901-2155
若某日期字段默认值为当前日期,一般设置为TIMESTAMP类型
这篇的数据库就是这些