mysql基础之对库表操作

系统 2065 0
原文: mysql基础之对库表操作

查看一下所有的库 , 怎么办 ?

Mysql>Show databases;

 

选库语句 :  Use  库名

创建一个数据库 create database  数据库名  [charset  字符集 ]


删除一个数据库 :  drop database  数据库名 ;

把数据库改改名 ?

Mysql , / 列可以改名 , database 不能改名 .

phpMyAdmin 似乎有这功能 他是建新库 , 把所有表复制到新库 , 再删旧库完成的 .

当选了库之后, 我们面对的是表


查看库下面的所有表 : show  tables;

 

先给大家提供一个 简单的建表语句

create table stu (

snum int,

sname varchar(10)

)engine myisam charset utf8;

删除表 drop table stu;

修改表名 :

mysql基础之对库表操作

清空表数据 truncate  表名



Truncate delete 是有区别的 ,

在于  truncate 相当于删表再重建一张同样结构的表 , 操作后得到一张全新表 .

delete 是从删除所有的层面来操作的 .

Trucate 相当于把旧的学籍表扔了重画一张 ,

Delete 相当于用橡皮把学籍表的数据库擦掉 .

如果决定全清空的下 ,truncate 速度更快一些 .

查看表结构

: desc tableName; // 查看表结构

12:  解决字符集问题 :

默认建表一般用 utf8,  而我们在 windows 下窗口是 GBK ,

因此 , 需要声明字符集 .

Set names gbk;

发现的 1 小问题 

语句打错以后应该退出本语句 , 再继续打新语句 . 也可以打 \c, 退出本语句 .


如何破解数据库的密码 :

1: 通过任务管理器或者服务管理 , 关掉 mysqld( 服务进程 )

2: 通过命令行 + 特殊参数开启 mysqld

Mysqld --skip-grant-tables

3: 此时 ,mysqld 服务进程已经打开 , 并且 , 不需要权限检查 .

4:mysql -uroot   无密码登陆服务器 .

5:  修改权限表

  A: use mysql;

  B:update user set Password = password('11111') where User = 'root';

  C:flush privileges;


6: 通过任务管理器 , 或服务管理 , 关掉 mysqld 服务进程 .

7: 再次通过服务管理 , 打开 mysql 服务 .


建表语法

所谓建表就是一个声明列的过程 .

create table  表名  (

列名 列类型 1   1 参数 ,

列名 列类型 2 参数 ,

....

...

列名 列类型 n 参数

)engine myisam/innodb/bdb charset utf8/gbk/latin1...

 

 

修改表的语法

一张表 , 创建完毕 , 有了 N .

之后还有可能要增加或删除或修改列 

 

Alter table  表名  add  列名称 列类型 列参数  [ 加的列在表的最后 ]

alter table m1 add birth date not null default '0000-00-00';

Alter table  表名  add  列名称 列类型 列参数  after  某列  [ 把新列加在某列后 ]

alter table m1 add gender char(1) not null default '' after username;

 

Alter table  表名  add  列名称 列类型 列参数  first  [ 把新列加在最前面 ]

:  alter table m1 add pid int not null default 0 first;

 

 

删除列 :

Alter table  表名   drop  列名

 

 

修改列类型 :

Alter table  表名  modify  列名   新类型  新参数

: alter table m1 modify gender char(4) not null default '';

 

修改列名及列类型

Alter table  表名  change  旧列名 新列名 新类型 新参数

:alter table m1 change id uid int unsigned;

 

?? 如果列类型改变了 , 导致数据存不下怎么办 ?

比如 ,int  改成 smallint .    如果不匹配 , 数据将会丢失 , 或者在 mysql strict_mode , 修改不了 .


为什么建表时 , not null default '' / default 0

: 不想让表中出现 null .

 

为什么不想要的 null 的值

:

不好比较 ,null 是一种类型 , 比较时 , 只能用专门的 is null  和  is not null 来比较 .

碰到运算符 , 一律返回 null

效率不高 , 影响提高索引效果 .

 

因此 , 我们往往 , 在建表时  not null default ''/0


常用数据库管理语句:

mysql基础之对库表操作

mysql基础之对库表操作

mysql基础之对库表操作

    create table goods (

  goods_id mediumint(8) unsigned primary key auto_increment,

  goods_name varchar(120) not null default '',

  cat_id smallint(5) unsigned not null default '0',

  brand_id smallint(5) unsigned not null default '0',

  goods_sn char(15) not null default '',

  goods_number smallint(5) unsigned not null default '0',

  shop_price decimal(10,2) unsigned not null default '0.00',

  market_price decimal(10,2) unsigned not null default '0.00',

  click_count int(10) unsigned not null default '0'

) engine=myisam default charset=utf8;
  


mysql基础之对库表操作


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论