MYsql数据库入门学习
java吧
全部回复
仅看楼主
level 3
xmvip01 楼主
http://click.aliyun.com/m/27828/数据库常用语句标签教学
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。现归属于Oracle(甲骨文)公司所有。
Mysql常用命令:
1、登录连接数据库。
mysql -u root -p
2、显示帮助命令清单。
mysql> \h; //(加分号和不加分号结束都不影响命令执行)
3、清除当前输入的语句(命令)。
mysql> \c
4、查询当前安装的MySQL服务器的版本号。
mysql> select version();
5、查看MySQL服务器状态信息(包含版本号,下面两个命令执行效果相同)。
mysql> status; //(加分号和不加分号结束都不影响命令执行)
mysql> \s
6、退出数据库。
mysql> \q; //(加分号和不加分号结束都不影响命令执行,会返回一个Bye)
7、数据库的导入导出。
导出数据库:mysqldump -u 用户名 -p 数据库名>数据库名.sql
导入数据库:source 数据库名.sql
8、显示所有数据库。
mysql> show databases; //(注意,最后有个s)
9、选择数据库。
mysql> use 数据库名; //会返回Database changed
10、查看当前选择的数据库中的所有的表
mysql> show tables; //(注意,最后有个s)
11、查看当前选择的数据库。
mysql> select database();
一、DDL:数据定义语言 (Data Definition Language)
作用:定义数据库或者表结构的。
操作的对象:数据库或表的结构的。
关键字:CREATE、 ALTER、 DROP
1、创建数据库。
mysql> create database 数据库名; //如果要创建的数据库已经存在,或者没有创建它的适当权限,则此语句执行失败。
例:mysql> create database company;//创建一个公司数据库
2、删除数据库。
mysql> drop database 数据库名;
例:mysql>drop database company; //删除公司数据库
3、创建表结构。
mysql>create table 表名(列名 列的数据类型 [<列的完整性约束>],列名 列的数据类型 [<列的完整性约束>],......);
例:mysql>create table dept( //创建部门表
deptno int(11) primary key, //部门编号,int型,主键约束
deptname varchar(12) unique //部门名称,varchar类型,唯一性约束
);
注意:创建表之前,必须先选择数据库,在选定的数据库中才能创建表。
列(column)有时候也称字段(field),同一个意思。
附:常用约束:
a)主键约束:primary key --非空且唯一,一张表就定义一个主键
b)主键自增长:auto_increment
c)非空:not null --不允许插入null值,可定义多个非空约束
d)唯一性:unique --不允许重复,但可以为空,可定义多个唯一约束
e)默认值:default 默认值 --指定缺省值,在没有添加值得情况下使用default后指定的默认值
f)外键:foreign key(列名) references 外键表名(外键列名); //注意:有外键时,创建表,先创建父表,再创建子表;插入数据,先插入父表,再插入子表;删除数据,先删除子表中的数据,再删除父表中的数据。
4、查看表结构。(下面三种方式实现效果相同)
mysql> desc 表名; //常用
mysql> describe 表名;
mysql> show columns from 表名;
5、修改表的名称。(下面两种写法都可以实现修改表名)
mysql> alter table 原表名 rename to 新表名;
mysql> rename table 原表名 to 新表名;
例:mysql> alter table dept rename to de; //将dept表名称改为de
6、修改表的编码字符集。
mysql>alter table 表名 character set 字符集;
例:mysql>alter table 表名 character set gbk; //修改表的编码字符集为gbk
7、向表中添加新的列。
mysql> alter table 表名 add <column> 列名 列的数据类型 [<列的完整性约束>];//column可省略
8、修改表中的某一列。
a)修改表中某一列的列名(同时可修改列的数据类型)
mysql>alter table 表名 change 原列名 新列名 列数据类型;
b)修改表中某一列的数据类型
mysql>alter table 表名 modify 列名 列新的数据类型;
9、删除表中的某一列。
mysql>alter table 表名 drop <column> 列名; //column可省略
10、删除表。
mysql>drop table 表名; //彻底删除表,数据库中不会保留表结构。注意与delete和truncate区别。
mysql>truncate 表名;
二、DML: 数据操作语言(Data Manipulation Language)
作用:操作表中的数据的。
关键字:INSERT、 UPDATE 、DELETE
1、向表中插入数据(每一行数据就是一条记录),以下三种插入数据的方法皆可。
mysql>insert <into> 表名 values(列值1,列值2,......); //into可以省略,插入的顺序必须和建表的顺序对应。
mysql>insert <into> 表名 (列名1,列名2,......)values(列值1,列值2,......); //建议使用
mysql>insert <into> 表名 values(列值1,列值2,......),(列值1,列值2,......),......;//一次性插入多条数据
例:向dept表中插入数据。
mysql>insert into dept(deptno,deptname)values(100,'销售部');
2、修改某一列的所有字段值为新的字段值。
mysql>update 表名 set 列名=新字段值;
mysql>update 表名 set 列名=新字段值,列名=新字段值...; //批量修改多个列的所有字段值都新字段值。
3、修改某一条记录的字段值。
mysql>update 表名 set列名=新字段值 where 列名=字段值;
mysql>update 表名 set 列名=新字段值,列名=新字段值... where 列名=字段值; //批量修改多个字段的字段值都为该值。
例:将学生表(student)中学号(sno)为520的学生的年龄(sage)改为21岁。
mysql>update student set sage=21 where sno=520;
4、删除表中的某一条记录。
mysql>delete from 表名 where 列名=列值;
例:删除学生表(student)中名字(sname)为'张三'的学生的记录
mysql>delete from student where sname='张三'; //注意,由于学生名字有重复的可能,所以会把所有名字叫张三的学生信息都从student表中删除掉,所以删除单条记录的条件可以参照主键约束的列,或者唯一约束的列,或者在已确定没有重复的情况下自行确定where后面选的条件。
5、删除表。
mysql>delete from 表名;
附:drop、truncate、delete的区别?
a)drop和truncate是DDL,而delete是DML。
b)truncate和delete只删除数据,不会删除表的结构,而drop会把数据和表结构都删除。
c)delete可以带where有条件的删除,可以回滚(rollback),但删除速度较truncate较慢。而truncate则不可以删除特定的数据,也不可以回滚(rollback),但删除速度比delete快。
建议:小心使用drop和truncate,尤其在数据没有备份的情况下。
http://click.aliyun.com/m/27828/更多数据库常用语句标签教学
2018年04月19日 03点04分 1
level 3
xmvip01 楼主
http://click.aliyun.com/m/27828/更多数据库常用语句标签
2018年04月19日 03点04分 2
level 12
server character:latin1怎么改成utf8
2018年04月19日 05点04分 3
1