一、本课目标
- 掌握基本数据库连接语句
- 使用DDL语句创建MySql数据库
- 使用DDL语句创建MySql数据表
注:虽然使用SQLYog工具很方便,但是不能依赖这个东西,最核心的还是要记住各种操作数据库的语句。
二、连接数据库
对于自己的机器来说,可以写“127.0.0.1”,这个ip就是本机回还地址;也可以写“localhost”。
-h、-u后面可以加个空格,也可以不加,但是-p后面的密码不允许有空格,否则就错了。所以这个-p后面可以直接跟密码,也可以不写等下一行再写。
注:用键盘上的“向上的箭头”按一下,就可以直接复制上一行的dos命令。
常用命令:
三、SQL语句
也叫结构化查询语句,分类如下:
四、DDL(数据定义语言)
4.1建库
最开始的四个库是系统创建的,是系统库(存放的是和系统相关的系统服务,对于系统数据库来说,用户一般不需要进行修改和操作。)。但是我们将来存储数据的时候并不会存储到系统库里面,到时候会存储到用户数据库里面。
注:以后看到这种语句中有中括号的,都是可写可不写的。
SQLYog中示例代码:
#创建数据库
CREATE DATABASE IF NOT EXISTS school;
#使用某个数据库
USE school;
#删除数据库
DROP DATABASE IF EXISTS school;
也可以直接鼠标右击去创建和删除。
数据库字符集:其实就是编码格式。
数据库校对规则:比如a与A,如果你想设置成这两个一样的或者不一样,就需要使用不同的校对规则。
4.2建表
注:
1、建表的时候用的不是单引号,而是一小撇:就键盘上波浪线那个按键;但是在没有跟保留字冲突的时候可以不加。
2、小括号之间创建的各个列之间有逗号,但是最后一个没有逗号。
3、表明随便取;字段名也是随便取(可中文可英文)。
示例代码:
CREATE TABLE `student` (
`id` INT(4) DEFAULT NULL,
`name` CHAR(4) DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=latin1
1、列类型
(1)数值类型:(标红为常用的)
最后一个:decimal(13,2)代表这个数字有13位,小数点后面有2位。
(2)字符串类型:(标红为常用的)
前两个的区别在于一个定长一个可变长。
(3)日期和时间型数值类型:(标红为常用的)
(4)NULL值
- 理解为“没有值”或者“未知值”
- 不要用NULL进行算数运算,结构仍为NULL
(5)如何选择合适的数据类型
1、整数和浮点:如果你存的这一列没有小数,就选整数类型(货币选decimal)
2、日期类型:一般选DATETIME类型;以后可能会用到TIMESTAMP类型。但是后面这个的存储范围是小于前面这个的。
3、char和varchar:char是固定长度的,varchar是可变长度的。如果存储的东西对速度要求很高而对空间要求比较小,就用char;反之则用varchar。
2、属性
主键:来唯一区分一条数据记录的,主键一定不能重复。
3、建一个表
在建表之前一定先选好数据库,不然都不知道表建到哪里去了。
建表的示例代码:
#创建Student表(学号int、登录密码varchar(20)、姓名varchar、性别varchar(2)、出生日期(Datetime)、家庭住址、email)
CREATE TABLE IF NOT EXISTS student(
id INT(4) PRIMARY KEY AUTO_INCREMENT COMMENT '主键 ,学号',
pwd VARCHAR(6) DEFAULT '123456' NOT NULL COMMENT '密码',
`name` VARCHAR(30) DEFAULT 'a' NOT NULL COMMENT '姓名',
sex VARCHAR(2) NOT NULL DEFAULT '1',
birthday DATETIME,
address VARCHAR(100),
email VARCHAR(50)
)