Home >Database >Mysql Tutorial >mysql基础使用浅谈(1)

mysql基础使用浅谈(1)

WBOY
WBOYOriginal
2016-06-07 14:49:49936browse

一、安装启动数据库 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';





Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn