一、MySQL准备与前置
1-1.MySQL的安装(略)
1.2.MySQL的配置等
MySQL的配置文件---my.ini,在MySQL的安装目录下。通常关注my.ini中的下面几个
修改配置信息之后要重启
1.3.MySQL的启动和停止
两种方式:
1.Windows的服务里重启
2.命令行实现
启动是:net start mysql
停止是:net stop mysql
注意:如果已经添加了MySQL的bin目录到path,但仍显示‘net 不是内部或外部命令的’的话,
解决办法:
我的电脑-->属性-->高级-->环境变量 path的变量值新加: %SystemRoot%system32
修改完成后,重新打开cmd命令行
1.4.MySQL的登录与退出
1.4.1.讲一下命令行mysql这个命令,参数如下(可与mysql命令组合):
例如:
1.查看版本信息(区分大小写!小写是错的!)
mysql -V
2.连接登录到ip 127.0.0.1的3306端口MySQL 且用户名为root 的账户 并输入密码
mysql -u root -p -P3306 -h127.0.0.1
其中 -P3306 -h127.0.0.1可以不写默认是localhost和3306,如果密码为空也可以不写-p
1.4.2.退出命令
exit; quit; q; 这三个都可以
1.5.mysql常用命令
1.6.MySQL语法规范
*关键字和函数名称大写(只是建议,仍然识别)
*数据库名称 、表名称、字段名称 小写
*SQL语句必须以分号结尾
1.7.操作数据库
创建数据库:CREATE DATABASE database_name;
显示所有数据库:show databases;
查看警告信息:show warnings;
修改数据库:alter database database_name character set = 'utf8';//修改数据库的编码方式
删除数据库:drop database myfirst;
二、MySQL数据类型
2.1 整型
三、简单操作数据表2.2 浮点型
2.3 日期
YEAR ,字节数为1,取值范围为“1901——2155”
TIME,字节数为3,取值范围为“-838:59:59——838:59:59”
DATE,字节数为4,取值范围为“1000-01-01——9999-12-31”
TIMESTAMP,字节数为4,取值范围为“19700101080001——20380119111407”
DATETIME,字节数为8,取值范围为“1000-01-01 00:00:00——9999-12-31 23:59:59”
2.4 字符型
1.创建数据表
首先得 use 数据库名称; //表示打开数据库,开始准备在哪个数据库里创表
创表语句:
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
);
2.查看数据表
show tables;
3.查看数据表结构
show columns from table_name;
4.插入和查找数据
插入:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
(不指定列默认全部。MySQL可以省略into ,oracle不可以)
简单查看:
select * from table_name;
这里的*不是表示全部,而是一种过滤规则,结果是显示全部了。
5.空值与非空
CREATE TABLE `test` (
`col1` VARCHAR( 10 ) NOT NULL ,
`col2` VARCHAR( 10 ) NULL
)
not null 表示该字段禁止为空,null 表示可为空,MySQL默认 可以插入null
6.自增(AUTO_INCREMENT)
不过,主键才能设置自增
7.主键约束
主键约束相当于(唯一约束+非空约束)
一张表中最多有一个主键约束,如果设置多个主键,就会出现如下提示:
Multiple primary key defined!!!
删除主键约束前,如果有自增长需要先删除自增长,如果不删除自增长就无法删除主键约束
7.唯一性约束
unique key,保证唯一,可以为Null,一张表可以有多个唯一性约束。
8.默认约束
DEFAULT
- 默认值
- 当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
使用DEFAULT定义某字段为默认约束:
插入数据验证默认约束:
四、MySQL的外键约束
其中,列级约束指的是只针对一个字段,而表级约束 指的是针对两个及两个以上的字段的约束。
外键约束:
其中,具有外键列的表称字表,外键列参考的表称为父表。
其中提到了相同存储引擎innodb,那么如何编辑默认存储引擎呢?
当然是在前文提到的my.ini里改,default-storage-engine=INNODB。改完后重启服务。
4.1外键约束的参照操作(父表执行删除等时 字表也相应也更新)
外键示例写法:
create table t_user (
id int not null,
name varchar(30),
groupid int,
primary key (id),
foreign key (groupid) references t_group(id) on delete cascade on update cascade
);
4.2表级约束与列级约束