创建数据库,名字为RUNOOB
mysqladmin -u root -p create RUNOOB
2.删除数据库,名字为RUNOOB
mysqladmin -u root -p drop RUNOOB
3.显示数据库:
mysql show databases; //注意后面要加;号,表示一条mysql语句结束
4.选择数据库:
mysql use RUNOOB;
5.数据类型:
http://www.runoob.com/mysql/mysql-data-types.html
6.显示当前数据库下的数据表:
mysql show tables;
7.创建数据表:
mysql CREATE TABLE runoob_tbl(
- runoob_id INT NOT NULL AUTO_INCREMENT,
- runoob_title VARCHAR(100) NOT NULL,
- runoob_author VARCHAR(40) NOT NULL,
- submission_date DATE,
- PRIMARY KEY ( runoob_id )
- );
8.删除数据表:
DROP TABLE runoob_tbl
9.插入数据:
mysql INSERT INTO runoob_tbl
-(runoob_title, runoob_author, submission_date)
-VALUES
-("Learn PHP", "John Poul", NOW());
10.查询数据表中的数据:
SELECT * from table_name [where ... and ...]
SELECT * from table_name where field_name in (...)
SELECT concat(field_name,"-",field_name2) as result from table_name [where...]
多表查询
select user_name from user u,member m
where u.id=m.id and
m.reg_date>=2006-12-28
order by u.id desc"
注意:如果user和member两个表同时有user_name字段,会出现mysql错误(因为mysql不知道你到底要查询哪个表里的user_name),必须指明是哪个表的;
11.Show命令:
SHOW DATABASES; //列出 MySQL Server上的数据库
SHOW TABLES [FROM db_name]; //列出当前数据库中所有的表的名称;
SHOW TABLE STATUS [FROM db_name]; //列出数据库的表信息,比较详细
SHOW COLUMNS FROM tbl_name [FROM db_name]; //列出表的列信息,同
SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name [col_name]
SHOW FULL COLUMNS FROM tbl_name [FROM db_name]; //列出表的列信息,比较详细,同 SHOW FULL FIELDS FROM tbl_name [FROM db_name]
SHOW INDEX FROM tbl_name [FROM db_name]; //列出表的索引信息
SHOW STATUS; //列出 Server 的状态信息
SHOW VARIABLES; //列出 MySQL 系参数值
SHOW PROCESSLIST; //查看当前mysql查询进程
SHOW GRANTS FOR user; //列出用户的授权命令
12.where子句:
mysql SELECT * from runoob_tbl WHERE runoob_author='Sanjay'; //查询某一个符合条件的表项
13.update 修改或更新数据:
// 查询并修改数据表数据,最后更新表格
UPDATE table_name
SET table_field = 'new data'
[WHERE ... and ...];
- DELETE 语句:
MySql中有两种方法可以删除数据
方法一:
DELETE FROM table_name [WHERE id = 3];
Delete 能够通过Where对要删除的记录进行选择。返回删除的记录数;
方法二:
TRUNCATE TABLE table_name;
将删除表中的全部记录,返回 0
如果一个表中有自增字段,使用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE 1或WHERE true。
DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快。而且还可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。
和标准的SQL语句不同,DELETE支持ORDER BY和LIMIT子句,通过这两个子句,我们可以更好地控制要删除的记录。如当我们只想删除WHERE子句过滤出来的记录的一部分,可以使用LIMIB,如果要删除后几条记录,可以通过ORDER BY和LIMIT配合使用。假设我们要删除users表中name等于”Mike”的前6条记录。可以使用如下的DELETE语句:
DELETE FROM users WHERE name = 'Mike' LIMIT 6;
一般MySQL并不确定删除的这6条记录是哪6条,为了更保险,我们可以使用ORDER BY对记录进行排序。
DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;
一般MySQL并不确定删除的这6条记录是哪6条,为了更保险,我们可以使用ORDER BY对记录进行排序。
DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6
15.ALTER命令:
mysql ALTER TABLE testalter_tbl DROP i; //删除以上表的 i 字段
mysql ALTER TABLE testalter_tbl ADD i INT; //在表 testalter_tbl 中添加 i 字段,并定义数据类型
mysql ALTER TABLE testalter_tbl MODIFY c CHAR(10); //把字段 c 的类型从 CHAR(1) 改为 CHAR(10)
mysql ALTER TABLE testalter_tbl
- MODIFY j BIGINT NOT NULL DEFAULT 100; //指定字段 j 为 NOT NULL 且默认值为100
mysql ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; //使用 ALTER 来修改字段的默认值
mysql ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; //使用 ALTER 命令及 DROP子句来删除字段的默认值
mysql ALTER TABLE testalter_tbl RENAME TO alter_tbl; //修改表名
16.正则表达式:
正则表达式是通用的,和C、linux shell一样的。
mysql SELECT name FROM person_tbl WHERE name REGEXP '^st'; //查找name字段中以'st'为开头的所有数据
mysql SELECT name FROM person_tbl WHERE name REGEXP 'ok$'; //查找name字段中以'ok'为结尾的所有数据
mysql SELECT name FROM person_tbl WHERE name REGEXP 'mar'; //查找name字段中包含'mar'字符串的所有数据
mysql SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$'; //查找name字段中以元音字符开头且以'ok'字符串结尾的所有数据
- MySQL键和索引的概念:
http://www.runoob.com/mysql/mysql-index.html
http://blog.csdn.net/duck_arrow/article/details/8264686
http://www.jb51.net/article/34037.htm