MySQL简单语句的使用
在MySQL命令行中,每条语句都是以“;”为标记表示语句的结束。
1、查看服务器上存在的数据库
mysql> SHOW DATABASES;
其中information_schema、mysql两个数据库为MySQL系统数据库,绝对不允许手工配置或修改。
2、创建数据库
mysql> CREATE DATABASE example;
3、选择数据库(使用数据库)
mysql> USE example;
使用某一数据库(相当于Oracle中所打开某个数据库服务)
如果要对某一个数据库进行操作,必须先use,才可以进行操作。
4、查看数据库中存在的表
mysql> SHOW TABLES;
5、创建表
建立一个班级同学的生日表,表的内容包括同学姓名、性别和出生日期。
对于字段和类型的处理:
常用字段类型:
int、double、varchar(xx)、date、datetime(包含时间)、text(保存大文本)
约束与自动增长:
check、primary key 、foreign key等约束与Oracle语法相同,
auto_increment:在MySQL中为该列自动增长,一般加入到主键字段中。
数据库的CRUD语句与Oracle基本一致,但不需要进行commit提交,MySQL默认自动提交
C:Create,R:Read,U:Update,D:Delete
mysql> CREATE TABLE mytable(
name VARCHAR(20),
sex CHAR(1),
birth DATE
);
由于name列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择1~255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。性别只需一个字符就可以表示:“m”或“f”,因此选用CHAR(1);birth列则使用DATE数据类型。
6、显示表的结构
mysql> DESCRIBE mytable;
mysql>DESC mytable;
都可以
7、删除表
mysql> drop table mytable
8、删除数据库
mysql> drop database example;
9、添加记录
mysql> insert into mytable values ('Echo','f','1983-05-14');
可以按此方法一条一条地将所有同学的记录加入到表中,与oracle插入语句有一定区别的是:可以使用一条语句插入多条数据:
INSERT INTO testtb VALUES (33,'MLDN03'), (34,'MLDN04'), (35,'MLDN05'), (36,'MLDN06'); |
所有要插入的数据中间使用 , 分隔
注意:当要插入自动增长列时:不要将自动增长列加入到插入语句中。
create table studenttable ( id int primary key auto_increment, name varchar(10) not null, sex char(4) not null, major varchar(50) not null ); insert into studenttable(name,sex,major) values ("lily","女","数学"), ("lilei","男","计算机"); |
10、读入SQL脚本
source 路径+文件名
source d:/test.sql |
11、取得当前日期
select sysdate();或select now();:均为取得当前系统时间,且包含日期与时间
其他日期或字符操作函数参考Oracle
12、用文本方式将数据装入一个数据库表
如果一条一条地输入会很麻烦。可以用文本文件的方式将所有记录加入数据库表中。
在g:\code下创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在CREATE TABLE语句中列出的列次序给出,例如:
Jerry m 1977-07-07
mary f 1978-12-12
tommy f 1970-09-02
使用下面的命令将文本文件“mysql.txt”装载到mytable表中。
mysql> LOAD DATA LOCAL INFILE "g:\\code\\mysql.txt" INTO TABLE mytable;
13、更新记录
修改记录:UPDATE 表名 SET 字段名1=字段值1,… WHERE 修改条件;
14、删除记录
删除记录:DELETE FROM 表名 WHERE 删除条件;
15、查看记录
查询记录:(最简单的样例) SELECT 字段1,字段2,… FROM 表名 WHERE 筛选条件;