MySQL基础(一)

一、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

  1. 默认值
  2. 当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

使用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表级约束与列级约束





原文地址:https://www.cnblogs.com/chz-blogs/p/9380952.html