mysql基础使用浅谈(1)

WBOY
WBOYオリジナル
2016-06-07 14:49:49936ブラウズ

一、安装启动数据库 1.安装数据库: sudo apt-get install mysql-server sudo apt-get install mysql-client 2.开启数据库: sudo service mysql start 3.登录数据库: mysql -u root (这是在数据库没有密码的情况下登录) mysql -u root -p (这是在数据库有

一、安装启动数据库

1.安装数据库:

 sudo apt-get install mysql-server
 sudo apt-get install mysql-client
2.开启数据库:

 sudo service mysql start


3.登录数据库:
mysql -u root     (这是在数据库没有密码的情况下登录)

mysql -u root -p (这是在数据库有密码的情况下登录)






二、创建数据库(注意在输入mysql命令时特别注意分号—“;”的使用!!!)

1.创建数据库:

CREATE DATABASE hello;             (表示创建名为hello的数据库)

(这里要注意的是mysql中对于命令并不区分大小写,所以CREATE DATABASE也可以写成create database;create DATABASE;CREATE daTabase等)

若输入以上指令后出现:Query OK,1 row affected 
则说明创建成功。
可以通过命令 :show databases;     进行查看


2.连接数据库
eg: use hello
若出现:Database changed 则说明数据库连接成功


查看当前数据库中的表格命令:show tables;
若提示:Empty set(0.00 sec)
则说明当前数据库为空。


3.新建数据表
创建的格式为:
create table  表格的名称

    列名1  数据类型(数据长度),
    列名2  数据类型(数据长度),
    列名3 数据类型(数据长度)
 );
eg:
create table zhuce

    id int(10),
    name char(20),
    phone int(10)
);
当提示为:Query OK,0 rows affected(0.10 sec)
则说明创建成功!


可以通过show tables; 命令对次数据库中的表格进行查看。


4.数据类型
数据库中的数据类型与普通的编程语言的数据类型大同小异,很多的用法形式都是一样的,以下列出不同的:
enum       用途:单选,比较性别     eg:enum('a','b','c')
set           用途:多选                      eg:set('1','2','3')
date        用途:日期                       eg:YYYY-MM-DD    3个字节
time        用途:时间点或持续时间   eg:HH:MM:SS         3个字节
year        用途:年份值                    eg:YYYY                   1个字节
varchar   用途:变长字符串                                              0~255字节
text        用途:长文本数据                                          0~65535字节
  
char和varchar区别:
char:char(10)表示的就是存储的字符占10个字节(无论有没有存          满10个字符)。
varchar:varchar(10)表示的是最多可以存10个字节,但是当你存入的字符小于10时,则按实际长度存储。


5.插入数据
通过以下命令对表格进行查看:select * from nihao;
出现:Empty set
则表示表格中仍为空~~~
下面需要在表格中插入数据,插入格式为:
insert into 表格名称(列名1,列名2,列名3) values(值1,值2,值3);
eg:
insert into nihao (id,name,phone) values(01,'Tommy',101010);
当显示为Query OK,则说明插入成功啦!


这里要注意对于varchar、char、date、time、enum、text、set等类型时需要单引号修饰,而int、float、double等则不需要单引号。


插入后再使用select * from nihao查看nihao表格。



6.退出mysql连接

输入exit 或者是quit 或者是 \q 即可退出






三、mysql 中的约束类

约束类型及其关键字如下:


1.主键约束

   主键约束用于约束表中一行,作为这一行的标识符,在一张表中通过主键就可以准确定位到一行,行中的主键不能有重复且不能为空!!!

   eg:create table example1

            ( id   int(10) primary key

               name  char(20),

               constraint dpt_pk primary key(dpt_name)

              ); 

    表示的就是主键约束,constraint dpt_pk primary key(dpt_name)这句代码是定义主键,dpt_pk是自定义的主键名。

     还有复合主键定义eg: constrint proj_pk primary key(proj_num,proj_name)


2.默认值约束

   默认值约束规定当有默认值约束的列,插入数据为空时,这个位置将会被默认值的值填充

  设置如下:

       

代码分析:代码中的default'10' 表示的就是当dpt_num没有输入时,则默认输出为10


eg:insert into example(dpt_name,dpt_num) value('nihao',11);

         insert into example(dpt_name) values('wohenhao');

      代码分析:第二行代码中没有输入dpt_num

        输入完以上代码后输入select * from example; 对表格进行查看发现:

         


3.唯一约束

唯一约束就是规定表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

表格创建形式如下:


   代码分析:代码中的unique(stu_class)就是对stu_class的唯一约束。


输入数据如下:



当输入第二行代码时,会发现提示错误,错误的原因是stu_class的在表格建立时设置为unique,即唯一值!



4.外键约束

外键既能确保数据完整性,也表现表之间的关系,一个表可以有多个外键,每个外键必须参考另一个表的主键,被外键约束的列,取值必须在它的参考列中有对应的值。


5.非空约束

被非空约束的列,在进入时必须为非空的。

表格创建如下:


代码分析:这里设定的是id不能为空


数据插入:


代码分析:可以看到代码中没有输入id,输入完成后,有 1 warning 一个警告。


查看表格:


id没有输入,但是其在表格中显示值为0,即当id被not null约束时,当输入为空时,被记为0.



四、修改和删除

1.删除数据库

命令如下示例:drop database 数据库名;

eg:drop database test;


2.重命名表

格式:rename table 原名 to 新名;

            或者是:alter table 原名 rename 新名;

           或者是: alter table 原名 rename to 新名;


3.删除表

格式:drop table 表名称;


4.修改表结构

①增加一列:

格式:alter table 表名字 add column 列名称 数据类型 约束;

 或:alter table 表名字 add 列名字 数据类型 约束;


②删除一列:

格式:alter table 表名字 drop column 列名字;

或: alter table 表名字 drop 列名字;


③重命名一列:

格式:alter table 表名称 change 原列名 新列名 数据类型 约束;

(注意:这条重命名语句后面的“数据类型”不能省略,否则重命名失败)


④改变数据类型

格式:alter table 表名字 modify 列名字 新数据类型;

(需要谨慎考虑,可能导致数据丢失)


5.对表的内容修改

①修改表中的某个值

格式:update 表名字 set 列1=值1,列2=值2 where 条件;

(注意:一定要有where条件,否则后果不堪设想!)


②删除一行记录

格式:delete from 表名字 where 条件;

eg:delete form test where name='nihao';





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。