您的位置:首页 > 数据库 > MySQL

mysql 入门基本语句

2018-10-06 10:54 711 查看

入门的基本语句

MySQL -uusername -uppasswd

当连上服务器后,我们首先面对的是?

答:是库,库由一个或多个,因此我们想要对表/行做操作的话,得先选库

如果不知道有哪些库,想查看所有的库,怎么办?

Show databases

选库的语句:

Use 库名

当选中库以后,我们面对的是表

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

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

删除一个数据库;

把数据库改名?

MySQL中,表/列可以改名,database不能改名

保存:要对我们进行的操作保存时,采用下面的语句

先来一个简单的建表语句

Create table stu(

Snum id int

Sname varchar(10)

Engine myisam charset utf8;

修改表名

表中添加数据

看表中数据

清空表数据:

Truncate 表名

Truncate和delect 有区别  

Truncate相当与删除表重建一张同样结构的表(就如重新来一张表)

 delect是从删除行的数据层面来操作的(就如橡皮擦掉这一行)

查看class表的结构

防止字符乱码:当表中有中文字符时,我们要将客户端的字符设置为gbk显示中文,以防出现乱码

开始真正的建表和插入数据

其实建表的过程就是一个画表头的过程

从术语上讲 这表有4个列

建表的过程,就是一个声明字段的过程

那么建表和列类型有何关系?

分析:在看上的表A4纸是数据的存储空间,而纸的大小是有限的

请问:你给学号留多宽?给姓名刘多宽?。。。、

自然的 姓名如果留的过宽,如果个字符就浪费了 留的过窄则存不下数据

A4纸有限 内存空间也有限

建列是想的能够容纳放置的内容有不想浪费

存储不同的数据,不同的列类型,所占的空间和效率也是不一样的,这就是建立表前列类型的意义

所以重点学类型的存储范围和占据的字节关系

建表语法

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

寻找一个合适的列类型才是关键

create table 表名(

列名1 列类型 列1参数,

列名2 列类型 列2参数,

......

列名n 列类型 列n参数

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

 

create table member(

id int unsigned auto_increment primary key,

username char(20) not null default '',

gender char(1) not null default '',

weight tinyint unsigned not null default 0,

birth date not null default '0000-00-00',

salary decimal(8,2) not null default 0.00,

lastlogin int unsigned not null default 0      #  int 时间戳

)engine myisam charset utf8;

 

修改表的语法

一张表 创建完毕,有了N列,之后还想拿个增加或删除或修改列

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

发现把某一列忘记加了,想要加在指定位置时

Alter table 表名 add 列名称 列类型 列参数 after 指定列名;  [新列加在指定列后]

想新建一个列 在最前面,在后面写 first

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

删除列:

Alter table表名 drop 列名

修改列类型:

到了X世纪,性别有描述的字数有变化,这时我们想把char(1)改为char(4)

Alter table 表名 modify 列名 新的列声明(新的列类型和列参数)

修改列类型和列名

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

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

比如:int改为smallint 数据将会丢失,若在严格模式下将无法更改

先来一个简单的建表语句

增:添加表时要注意:往哪张表添加行;给哪几列添加值;添加什么值。

查看表中内容?

改:改哪张表?你需要改哪几列的值?分别改成什么值?在哪些行生效?

删除:你要删除哪张表?你要删除哪些行?

删除就是指删除整行,不存在删除一行中的某几列(相当于该)

查找:select * from 表名where 表达式; 选择满足表达式的表中的数据

上述取出的是表中所有人的名字和工资(Where 1 可以不要)

取出id大于3的所有行

取部分行和部分列

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: