第十八课--数据库(2)

今天继续说数据库

连接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)。
外键既能确保数据完整性,也能表现表之间的关系。添加了外键之后,插入引用表的记录要么必须被引用表中被引用列的某条记录匹配,要么外键列的值必须设置为NULL。
  外键和主键不一样,每个表中的外键数目不限制唯一性。在每个表中,每一有-~253个外键。唯一的限制是一个列只能引用一个外键。一个列可以被多个外键引用。
如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的。
无符号   UNSIGNED   无符号
非空约束   NOT NULL  字段不允许为空
默认约束  DEFAULT   赋予某字段默认值
唯一约束  UNIQUE KEY(UK)  设置字段的值是唯一的 允许为空,但只能有一个空值
主键约束   PRIMARY KEY(PK)   设置该字段为表的主键
外键约束   FOREIGN KEY(FK) 用于在两表之间建立关系,需要指定引用主表的哪一字段
自动增长  AUTO_INCREMENT  设置该列表自增字段,默认每条自增1,通常用于设置主键
语法:
CREATE TABLE [IF NOT EXISTS]表名(
字段1 数据类型[字段属性|约束][索引][注释],
...
字段n 数据类型[字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
(注:多字段使用逗号隔开   保留字用撇号括起来  单行注释:#....   多行注释/#....#/)
主键 :
CREATE TABLE student(
      studentNo INT(4)  PRIMARY KEY,
      ……);
注释 :
CREATE TABLE test (
    id int(11) UNSIGNED COMMENT ‘编号’
)COMMENT='测试表’;
设置字符集编码 :
CREATE TABLE [IF NOT EXISTS] 表名(
     #省略代码
)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 字段名;
添加主键 :
ALTER TABLE 表名 ADD CONSTRAINT 主键名
         PRIMARY KEY 表名(主键字段);
添加外键 :
ALTER TABLE 表名 ADD CONSTRAINT 外键名
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类型

这篇的数据库就是这些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值