mysql基本操作(1)

来源:互联网 发布:图片切换js代码 编辑:程序博客网 时间:2024/04/29 17:33
MySQL:
1、服务启动:
net start mysql
2、服务停止:
net stop mysql
3、连接mySQL
mysql -uroot -p123456 [-hlocalhost]
1)root为用户名
2)123456为密码
3)-h参数可选
4、查看所有的数据库:
SHOW DATABASES;
5、创建数据库:
CREATE DATABASE 数据库名;
6、删除数据库:
DROP DATABASE 数据库名;
7、使用数据库:
USE 数据库名;
8、查看对应数据里所有的表(数据库里的一个存储单元):
SHOW TABLES;
9、在对应的数据库里创建表:
CREATE TABLE 表名称 (
      字段1 字段类型 [DEFAULT 默认值][约束],
      字段2 字段类型 [DEFAULT 默认值][约束],
       ...
      字段名称n 字段类型 [DEFAULT 默认值][约束]
   );
   
   CREATE TABLE user(
id INT AUTO_INCREMENT PRIMARY KEY, -- 主键约束,表示当前记录的唯一性
  username VARCHAR(50) NOT NULL,  -- 非空约束,姓名必须填写
passwd VARCHAR(32) NOT NULL,
birthday DATE,
description TEXT-- 大于65535长度选择text类型
)


常见的数据类型:
1)int
2) varchar(21845)
3) text
4) decimal(6, 2)
5) date
6) datetime
7) ...
10、查看表结构:
DESC/EXPLAIN 表名;
11、向数据库表里新增数据:
INSERT INTO 表名称[(字段1,字段2,...)] VALUES (值1,值2,...);
1)选择部分字段插入:
INSERT INTO user(username,passwd) VALUES('zhangsan','123');
2)全部字段插入:
INSERT INTO user(id,username,passwd,birthday,description) VALUES(NULL,'wa
ngwu','lisi5201314','20121212','...');
3)全部字段插入(带日期):
INSERT INTO user(id,username,passwd,birthday,description) VALUES(NULL,'wa
ngwu','lisi5201314','2012-02-02','...');
4)默认全部字段插入:
INSERT INTO user VALUES(NULL,'wangwu','lisi5201314','2012-02-02','...');
5)批量插入:
INSERT INTO user VALUES(NULL,'wangwei','wangweilovefck',NOW(),'a big sb!'),(NULL,'wangwei','wangweilovefck',NOW(),'a big sb!');
6)表复制/恶意复制:
INSERT INTO user(username,passwd,birthday,description) SELECT username,passwd,birthday,description FROM user;
12、查看数据库表
SELECT * FROM 表名;
SELECT username,passwd,birthday,description FROM user
13、删除指定数据:
DELETE FROM 表名; (谨慎操作)
DELETE FROM 表名 WHERE id < 10;
DELETE FROM 表名 WHERE id = 11 AND username='wangwei';

如果有需要快速删除全部:TRUNCATE TABLE 表名;(谨慎操作)
14、修改指定数据:
UPDATE 表名 SET username='wangweiquan',passwd='wangweiquanlikefck'; (谨慎操作)
UPDATE 表名 SET username='wangweiquan',passwd='wangweiquanlikefck' WHERE id<10;
UPDATE 表名 SET username='wangweiquan',passwd='wangweiquanlikefck' WHERE id<10 AND birthday='2012-02-02';
15、导入导出:
导出:
1)进入cmd控制台
2)mysqldump -uroot -p123456 test > d:\\test.sql
导入:
1)进入cmd控制台
2)连接mysql数据库
3)创建一个数据库并使用
4)SOURCE d:\\test.sql
16、表信息查看
CREATE TABLE students(
id INTAUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(32)NOT NULL,
gender CHAR(2),
birthday DATE,
salary DECIMAL(6,2)NOT NULL    --最大的存储:9999.99
);
a)修改表名
     ALTER TABLE 表名 RENAME TO 新表名;
            如:ALTER TABLE students RENAME TO user;
b)添加列(能添加多个列定义)
     ALTER TABLE 表名 ADD(
-- 可以有多个列定义
     );
            如:
            添加一条:ALTER TABLE user ADD(phone VARCHAR(20) NOT NULL);
   添加多条:ALTER TABLE user ADD(address VARCHAR(255), phone VARCHAR(20));
c)删除列
     ALTER TABLE 表名 DROP 列名
            如:ALTER TABLE user DROP phone;
d)修改列(不能修改多个列定义)
     ALTER TABLE 表名 MODIFY 列名 列定义
            如:ALTER TABLE user MODIFY phone VARCHAR(50);
e)修改列名
     ALTER TABLE 表名 CHANGE 原列名 新列名 新列名定义
            如:ALTER TABLE user CHANGE phone tellphone VARCHAR(50);
f)修改表类型
     ALTER TABLE 表名 ENGINE = INNODB;
g) 修改其它(约束、)
17、单表查询
1)查询全部
SELECT * FROM students;
2)查询全部,带单个条件(>、<、>=、<=、=、<>/!=、like、_、null、IN)
SELECT * FROM students WHERE id=1;
SELECT * FROM students WHERE id<>1;
SELECT * FROM students WHERE salary=99.99;
SELECT * FROM students WHERE username='wangweiquan';
SELECT * FROM students WHERE username like '%weiqu%';
SELECT * FROM students WHERE username like 'wang%';
SELECT * FROM students WHERE gender IS NULL;
SELECT * FROM students WHERE gender IS NOT NULL;
SELECT * FROM students WHERE id IN(1,2,3);
3)查询全部,多个条件(AND、OR)
SELECT * FROM students WHERE id=1 OR id=2 OR id=3;
SELECT * FROM students WHERE username='wangwei' AND gender is NULL;
4)指定查询部分字段
SELECT id,username,password FROM students WHERE username LIKE '%weiqu%';
5)统计有多少条数据
SELECT COUNT(*) AS total FROM students;
SELECT COUNT(id) FROM students;
SELECT COUNT(*) FROM students WHERE username IN('wangwei','wangweiquan1');
6)分页查询
SELECT * FROM students LIMIT 0,100;

注:在查询的时候,尽量使用指定字段查询,而不要去使用*!!
18、多表查询
笛卡尔积的问题!

    附:
       1、如果数据库使用的是utf8存储,在windows的控制台做新增或查询的时候会乱,可使用set names gbk;
       2、数据库的五大约束
          1)*主键
          2)外键:优点:保证数据的一致; 缺点:在大数据量的情况下性能较低。
          3)*非空
          4)*唯一

          5)检查约束:对MySQL无效



0 0
原创粉丝点击