========终端中操作数据库===========(在终端中使用mysql命令时,需要先配置环境变量)=====

第一次链接数据库时,没有密码输入mysql -uroot -p直接回车,要你输入密码,直接不输入,回车,就链接了数据库;

命令切换当前数据仓库 命令行修改数据库_数据库

修改数据库的密码:

命令切换当前数据仓库 命令行修改数据库_表名_02

空密码登陆之后,然后输入“use mysql”,意思是使用mysql这个数据库,提示“Database changed”就行。

然后输入要修改的密码的sql语句“update user set password=PASSWORD('hooray') where user='root';”,注意,sql语句结尾的分号不能少;最后输入“flush privileges;”,不输入这个的话,修改密码的操作不会生效的。然后输入“quit”退出。


设置了数据裤的密码后:登陆如下

命令切换当前数据仓库 命令行修改数据库_字段_03

命令切换当前数据仓库 命令行修改数据库_字段_04

命令切换当前数据仓库 命令行修改数据库_数据库_05

命令切换当前数据仓库 命令行修改数据库_数据库_06


命令切换当前数据仓库 命令行修改数据库_字段_07

显示mysql中所有可用的字符集----------------show charset;

显示所有可用的排序规则-------------------------show collation;

启动mysql-----------net start mysql

停止mysql-----------net stop mysql

打开帮助----------------   mysql --help

PHP数据库mysql----------------

命令切换当前数据仓库 命令行修改数据库_字段_08

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_09

命令切换当前数据仓库 命令行修改数据库_表名_10

命令切换当前数据仓库 命令行修改数据库_表名_11

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_12

命令切换当前数据仓库 命令行修改数据库_表名_13

刚开始的时候数据的密码是空,设置完数据库的密码后,第二次登陆phpmyadmin会报错,这时需要在phpmyadmin中的config.inc.php中的$cfg[server][password]="刚才修改的密码"

命令切换当前数据仓库 命令行修改数据库_字段_14

命令切换当前数据仓库 命令行修改数据库_字段_15

命令切换当前数据仓库 命令行修改数据库_表名_16

============下面的如果是80 端口,则(-P端口号)可以省略,如果是localhost,(-h服务器地址)可以省略

命令切换当前数据仓库 命令行修改数据库_数据库_17

命令切换当前数据仓库 命令行修改数据库_表名_18

命令切换当前数据仓库 命令行修改数据库_表名_19

命令切换当前数据仓库 命令行修改数据库_表名_20

命令切换当前数据仓库 命令行修改数据库_表名_21

命令切换当前数据仓库 命令行修改数据库_数据库_22


====================php代码中数据库语句=====================

命令切换当前数据仓库 命令行修改数据库_表名_23

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_24

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_25

命令切换当前数据仓库 命令行修改数据库_字段_26

命令切换当前数据仓库 命令行修改数据库_表名_27

命令切换当前数据仓库 命令行修改数据库_数据库_28

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_29

====================数据库定义语言DDL-------------------

命令切换当前数据仓库 命令行修改数据库_数据库_30

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_31

create database [if not exists] 数据库名 [charset 字符集] [collate 字符排序规则];


命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_32

修改数据库----- alter database 数据库名 character set=新字符集 collate=新的比较规则;

删除数据库----drop database 数据库名;

进入某个数据库----use 数据库名;

显示所有数据库---show databases;

显示某个数据库的创建语句----show create database 数据库名;


命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_33

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_34

命令切换当前数据仓库 命令行修改数据库_字段_35

命令切换当前数据仓库 命令行修改数据库_表名_36

================数据库字段类型--------------------

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_37

命令切换当前数据仓库 命令行修改数据库_表名_38

命令切换当前数据仓库 命令行修改数据库_字段_39

整数中如果加上unsigned,则表示无符号;从0开始;

命令切换当前数据仓库 命令行修改数据库_字段_40

create table [ if not exists] 表名 (字段名  类型名[长度] [usigned] [zerofill]);------通常写成create table tab1 (字段名 类型名);


==================小数类型-------------------

命令切换当前数据仓库 命令行修改数据库_数据库_41

decimal(20,5)--------------------表示小数类型踪长度最长20位,保留5位小数;


命令切换当前数据仓库 命令行修改数据库_表名_42

命令切换当前数据仓库 命令行修改数据库_字段_43

=================字符串类型===========================

命令切换当前数据仓库 命令行修改数据库_数据库_44

varchar如果没超过设定的长度,以实际长度为准,如果超出了设定的长度,则超出的部分数据丢失;char类型,长度少于设定的长度,则多出来的部分用空格补齐;

+++++++++++++++++一个字符可能是一个字节,两个字节,三个字节,四个字节;

======================二进制文本=====================================

命令切换当前数据仓库 命令行修改数据库_数据库_45

命令切换当前数据仓库 命令行修改数据库_数据库_46

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_47

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_48

上面的enum和set类型只能插入创建时提供的数据,否则报错;


命令切换当前数据仓库 命令行修改数据库_字段_49

命令切换当前数据仓库 命令行修改数据库_字段_50

如果不在上面的类型的表示范围内,就用字符串来表示时间;

=================表定义语句-------------------------------------

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_51


                      一个字段可以添加多个字段属性;

                          一个表只能设定一个主键;

create table [if not exists] 表名(字段列表,[约束或者索引列表]);

删除表---------drop table [if exists]表名;



命令切换当前数据仓库 命令行修改数据库_数据库_52

[primary] key中的primary可以省略;unique [key] 中的key可以省略;

命令切换当前数据仓库 命令行修改数据库_数据库_41

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_54

------------------------------索引--------------------

命令切换当前数据仓库 命令行修改数据库_表名_55

命令切换当前数据仓库 命令行修改数据库_数据库_56

命令切换当前数据仓库 命令行修改数据库_表名_57

命令切换当前数据仓库 命令行修改数据库_表名_58

               key(f2)相当于给字段f2添加一个普通索引;

=============约束----------------

命令切换当前数据仓库 命令行修改数据库_表名_59

命令切换当前数据仓库 命令行修改数据库_数据库_60

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_61

                foreign key(班级主键) references  表1(班级号);------班级主键是表2 的主键,也是表1的外键;

注意:有的约束只能在字段上当做字段属性来设定;如果非空约束和默认约束,其他约束可以在字段上设置,也可以单独设置;

非空约束not null,默认约束default 12.3;

命令切换当前数据仓库 命令行修改数据库_表名_62

=====================表选项有默认值,总是有值得======================

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_63


命令切换当前数据仓库 命令行修改数据库_字段_64

命令切换当前数据仓库 命令行修改数据库_表名_65

===========================修改表=======================

命令切换当前数据仓库 命令行修改数据库_表名_66

字段的操作:--------

      增加字段:alter table 表名 add [column] 字段名   字段类型  字段属性;

     删除字段:alter table 表名 drop 字段名 ;


        更改字段:alter table 表名 change 原字段名  新字段名  新字段类型  新字段属性

命令切换当前数据仓库 命令行修改数据库_数据库_67

show tables-------------显示所有的表;

des 表名----------------显示表的结构 ;

show create table 表名-------------------显示表的创建语句;


命令切换当前数据仓库 命令行修改数据库_表名_68

=============表的其他操作语句================

命令切换当前数据仓库 命令行修改数据库_表名_69

命令切换当前数据仓库 命令行修改数据库_表名_70

从已有的表复制表的结构:方法一----------create table [if   not  exists]  新表名  like  原表名;-------复制表的结构,然后在插入数据;

这个方法复制的时候回丢掉一些属性,推荐用方法一,然后在查如数据。

  方法三-------------------- create  table [if  not exists] 新表名  select  *from  原表名 where  1<>1;----这一句只复制了表的结构,数据没有复制;这个方法复制的时候回丢掉一些属性,推荐用方法一,然后在查如数据。


命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_71

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_72

命令切换当前数据仓库 命令行修改数据库_数据库_73

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_74

数据库表的设计思想===================

命令切换当前数据仓库 命令行修改数据库_字段_75

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_76

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_77

一个表只要有主键,其他非键一定依赖于主键;

部分依赖的前提是至少有两个字段组成的联合主键;非主键字段依赖联合主键的部分字段;

命令切换当前数据仓库 命令行修改数据库_表名_78


命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_79

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_80

命令切换当前数据仓库 命令行修改数据库_表名_81

命令切换当前数据仓库 命令行修改数据库_命令切换当前数据仓库_82


总结:

命令切换当前数据仓库 命令行修改数据库_字段_83